summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-30Add comparison predicatesPeter Mikkelsen
2021-06-30Add builtins for typetestsPeter Mikkelsen
2021-06-30Add a standard library with the "builtins" that doesn't really need to be ↵Peter Mikkelsen
actual builtins
2021-06-30Add support for builtins, and implement true/0, fail/0, call/1, and !/0 builtinsPeter Mikkelsen
2021-06-30Give queries another id than clauses, so variable names doesn't clashPeter Mikkelsen
2021-06-30Commit repl.c filePeter Mikkelsen
2021-06-30Add a basic replPeter Mikkelsen
2021-06-30Add todoPeter Mikkelsen
2021-06-30Treat the variable _ differently, in that it doesn't introduce a new bindingPeter Mikkelsen
2021-06-30Add backtracking to the evaluator. This means we have to keep track of ↵Peter Mikkelsen
choicepoints which is implemented the easy but wasteful way for now. I have also added a number which is used to differentiate variables from different application of the clauses.
2021-06-30Start work on an evaluator. For now it knows how to unify but doesn't know ↵Peter Mikkelsen
how to handle builtin predicates or how to backtrack
2021-06-29Understand :-initialization(Goal) directivePeter Mikkelsen
2021-06-29Add more operatorsPeter Mikkelsen
2021-06-29Make parse return a list of clauses. Also pretty print the entire list of ↵Peter Mikkelsen
clauses.
2021-06-29Parse terms in parenthesis correctlyPeter Mikkelsen
2021-06-29Parse lists and {a,b,c} syntax (What is this even called?)Peter Mikkelsen
2021-06-29Parse , and make xfy do what it shouldPeter Mikkelsen
2021-06-29Fix some parser errors, and accept clauses without a bodyPeter Mikkelsen
2021-06-29Add a term parser.Peter Mikkelsen
2021-06-28Initial commit. Start working on a new prolog implementation for 9front, now ↵Peter Mikkelsen
that I at least have a better understanding of what goes into a compiler :)