summaryrefslogtreecommitdiff
path: root/module.c
AgeCommit message (Collapse)Author
2021-07-27Don't use strings to identify vars, use numbersPeter Mikkelsen
2021-07-23Simplify parsing a bit, and make sure the prolog loader calls read_term with ↵Peter Mikkelsen
the correct module to pick up the correct operators
2021-07-22Big commit changing the way the system is loaded at startup.Peter Mikkelsen
1) The loader and system modules are loaded by the C directly into the user module 2) The system module is then loaded with the loader from the user module 3) The loader module is then loaded with the loader from the user module 4) The repl is then loaded with the loader from the loader module 5) The user module is cleared
2021-07-22Actually load repl.pl with the prolog loader, and handle module directivesPeter Mikkelsen
2021-07-20Add a new work in progress loader to load all user defined modulesPeter Mikkelsen
2021-07-18Install stdlib.pl and repl.pl into /sys/lib/prolog/Peter Mikkelsen
2021-07-16Handle -d option in prologPeter Mikkelsen
2021-07-16Pass arguments to repl/1Peter Mikkelsen
2021-07-16Replace the C repl with one written in prolog :)Peter Mikkelsen
2021-07-16Make operators local to each module, and implement some more correct ↵Peter Mikkelsen
prettyprint code, used by write_term
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-08Add a mark-sweep garbage collectorPeter Mikkelsen
2021-07-08Add clause/2 predicatePeter 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-05First step on modules. Still very very rough.Peter Mikkelsen