▲ | brodo 3 days ago | |||||||
That's the default way it has been done in Prolog since forever. If you have static typeing, like in Soufflé, you can get around it. | ||||||||
▲ | cubefox 3 days ago | parent | next [-] | |||||||
It's also used in the theory of formal grammars, where terminal symbols (constants) are lower case, and non-terminal symbols (variables) are upper case: https://en.wikipedia.org/wiki/Formal_grammar#Introductory_ex... | ||||||||
| ||||||||
▲ | maweki 3 days ago | parent | prev [-] | |||||||
Datalog does not need/do unification for rule evaluation, as it is just matching variables to values in a single direction. Body literals are matched against the database and the substitutions are applied to the rest of the rule and the head. Prolog does unification of the proof goal with the rule head. It's necessary there but not with datalog. | ||||||||
|