3 ms·
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.
by brodo 1y 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.
- maweki 1y agoDatalog 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.
- kevindamm 1y agoWhile bottom-up evaluation is the norm in datalog, it is not a requirement and there are datalog engines that evaluate top-down or all-at-once. But I still agree with you about the capitalization. Some formats, like KIF, use a '?' prefix instead, and I've seen some HRF notations that mix the '?' prefix with non-KIF formatting (':-' operator and '.' terminator).
- cubefox 1y agoIt'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_example https://en.wikipedia.org/wiki/Formal_grammar#Introductory_ex...
- moi2388 1y agoI did not know this, thanks