summaryrefslogtreecommitdiff
path: root/eval.c
AgeCommit message (Expand)Author
2021-07-16Make operators local to each module, and implement some more correct prettypr...Peter Mikkelsen
2021-07-13When binding two variables to eachother, always bind to the one with the lowe...Peter Mikkelsen
2021-07-08Add a mark-sweep garbage collectorPeter Mikkelsen
2021-07-08Add clause/2 predicatePeter Mikkelsen
2021-07-07Add copy_term/2Peter Mikkelsen
2021-07-06Store the calling module in each goal, and fix a bug where unification could ...Peter Mikkelsen
2021-07-06Group clauses into predicates, and create all valid choicepoints at once. Thi...Peter Mikkelsen
2021-07-05Turn integers and floats into seperate term typesPeter Mikkelsen
2021-07-05First step on modules. Still very very rough.Peter Mikkelsen
2021-07-03Make the goalstack global just like the choicestackPeter Mikkelsen
2021-07-03Add one global choicestack so we don't need to pass it aroundPeter Mikkelsen
2021-07-03Start adding support for read_term and write_termPeter Mikkelsen
2021-07-02Remove strings, and add a (currently not changable) flag 'double_quotes' whic...Peter Mikkelsen
2021-07-01Add exceptions :) implement catch/3 and throw/1Peter Mikkelsen
2021-06-30Allow the repl to backtrack to give alternative resultsPeter Mikkelsen
2021-06-30Add functor/3Peter Mikkelsen
2021-06-30Add comparison predicatesPeter Mikkelsen
2021-06-30Add a standard library with the "builtins" that doesn't really need to be act...Peter Mikkelsen
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-30Add a basic replPeter 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 choice...Peter Mikkelsen
2021-06-30Start work on an evaluator. For now it knows how to unify but doesn't know ho...Peter Mikkelsen