summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-10Add findall/3 implemented in prologPeter Mikkelsen
2021-07-09Add asserta/1, assertz/1, retract/1, abolish/1 (and retract_one/1, which is ↵Peter Mikkelsen
retract/1 but doesn't backtrack)
2021-07-08Add current_predicate/1 builtinPeter Mikkelsen
2021-07-08Make the repl bindings and query global so the garbage collector can know ↵Peter Mikkelsen
about them
2021-07-08Add a hash table to make the garbage collection fasterPeter Mikkelsen
2021-07-08Add a mark-sweep garbage collectorPeter Mikkelsen
2021-07-08Add licensePeter Mikkelsen
2021-07-08Add clause/2 predicatePeter Mikkelsen
2021-07-08Add arithmetic comparison predicatesPeter Mikkelsen
2021-07-08Update todoPeter Mikkelsen
2021-07-08Implement the full arithmetic part of the ISO spec.Peter Mikkelsen
2021-07-07Add copy_term/2Peter Mikkelsen
2021-07-07Make '=..'/2 work according to spec. Introduce types.c for functions which ↵Peter Mikkelsen
tells us something about term types. Should be used a lot more instead of explicitly looking into terms->tag everywhere
2021-07-07Oops remove debug printPeter Mikkelsen
2021-07-07Make arg/3 work according to specPeter Mikkelsen
2021-07-07Make functor/3 work according to specPeter Mikkelsen
2021-07-07Fix compare/3 for variables named _. They are never equalPeter Mikkelsen
2021-07-07Add missing pre defined operators from iso prologPeter Mikkelsen
2021-07-06Add list modulePeter Mikkelsen
2021-07-06Store the calling module in each goal, and fix a bug where unification could ↵Peter Mikkelsen
leave behind some bindings even though the unification failed.
2021-07-06Change the output of the repl a lille bitPeter Mikkelsen
2021-07-06Group clauses into predicates, and create all valid choicepoints at once. ↵Peter Mikkelsen
This is wastefull if one branch loops forever, but it is much nicer otherwise, since we know the choicepoints only gets created as long as their head is unifiable with the goal.
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-02Start work on input/output streamsPeter Mikkelsen
2021-07-02Fix Throw(What) macroPeter Mikkelsen
2021-07-02Begin work on set_prolog_flag/2 and current_prolog_flag/2Peter Mikkelsen
2021-07-02Remove strings, and add a (currently not changable) flag 'double_quotes' ↵Peter Mikkelsen
which defines how double quoted strings are stored.
2021-07-01Add standard error predicatesPeter Mikkelsen
2021-07-01Add exceptions :) implement catch/3 and throw/1Peter Mikkelsen
2021-07-01Start implementation of is/2Peter Mikkelsen
2021-07-01Remove = from examples now that it is in stdlibPeter Mikkelsen
2021-06-30Add length/2 and member/2Peter Mikkelsen
2021-06-30Prettyprint lists for realsPeter Mikkelsen
2021-06-30Allow the repl to backtrack to give alternative resultsPeter Mikkelsen
2021-06-30Add =../2Peter Mikkelsen
2021-06-30Add arg/3Peter Mikkelsen
2021-06-30Add functor/3Peter Mikkelsen
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