summaryrefslogtreecommitdiff
path: root/fns.h
AgeCommit message (Collapse)Author
2021-07-08Add clause/2 predicatePeter Mikkelsen
2021-07-08Implement the full arithmetic part of the ISO spec.Peter 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-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-05Turn integers and floats into seperate term typesPeter Mikkelsen
2021-07-05First step on modules. Still very very rough.Peter 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-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 exceptions :) implement catch/3 and throw/1Peter Mikkelsen
2021-06-30Allow the repl to backtrack to give alternative resultsPeter Mikkelsen
2021-06-30Add comparison predicatesPeter Mikkelsen
2021-06-30Add builtins for typetestsPeter Mikkelsen
2021-06-30Add support for builtins, and implement true/0, fail/0, call/1, and !/0 builtinsPeter Mikkelsen
2021-06-30Add a basic replPeter 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-29Make parse return a list of clauses. Also pretty print the entire list of ↵Peter Mikkelsen
clauses.
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 :)