Add a standard library with the "builtins" that doesn't really need to be actual builtins
Add support for builtins, and implement true/0, fail/0, call/1, and !/0 builtins
Give queries another id than clauses, so variable names doesn't clash
Treat the variable _ differently, in that it doesn't introduce a new binding
Add backtracking to the evaluator. This means we have to keep track of choicepoints which is implemented the easy but wasteful way for now.
Start work on an evaluator. For now it knows how to unify but doesn't know how to handle builtin predicates or how to backtrack
Understand :-initialization(Goal) directive
Make parse return a list of clauses. Also pretty print the entire list of clauses.
Parse terms in parenthesis correctly
Parse lists and {a,b,c} syntax (What is this even called?)
Parse , and make xfy do what it should
Fix some parser errors, and accept clauses without a body
Initial commit. Start working on a new prolog implementation for 9front, now that I at least have a better understanding of what goes into a compiler :)