Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
tutorials:beginner:cram_prolog [2019/07/10 14:58] – [Defining custom predicates] gkazhoya | tutorials:beginner:cram_prolog [2022/05/24 14:49] – [Using built-in predicates] schimpf | ||
---|---|---|---|
Line 31: | Line 31: | ||
(((?X . 1)) ((?X . 2)) ((?X . 3))) | (((?X . 1)) ((?X . 2)) ((?X . 3))) | ||
</ | </ | ||
+ | |||
+ | === Using unbound variables === | ||
Variables in CRAM Prolog are represented by any symbol that starts with ''?'' | Variables in CRAM Prolog are represented by any symbol that starts with ''?'' | ||
Line 43: | Line 45: | ||
</ | </ | ||
Then we get one correct possible assignment for all the variables as one entry of the lazy list. | Then we get one correct possible assignment for all the variables as one entry of the lazy list. | ||
+ | |||
+ | It is important to remember that the ` is needed for unbound variables, not the ' or you will get an error. | ||
+ | |||
If there are no solutions for the query Prolog returns NIL: | If there are no solutions for the query Prolog returns NIL: |