summaryrefslogtreecommitdiff
path: root/builtins.c
AgeCommit message (Collapse)Author
2021-07-19More work on streamsPeter Mikkelsen
2021-07-18Load extra arguments as module filesPeter Mikkelsen
2021-07-16Handle -d option in prologPeter Mikkelsen
2021-07-16Implement a bit more of prolog flag predicates set_prolog_flag/2 and ↵Peter Mikkelsen
current_prolog_flag/2
2021-07-16Replace the C repl with one written in prolog :)Peter Mikkelsen
2021-07-16Add character input/outputPeter Mikkelsen
2021-07-16Make operators local to each module, and implement some more correct ↵Peter Mikkelsen
prettyprint code, used by write_term
2021-07-15Make read_term understand the three read options:Peter Mikkelsen
variables(Vars), variable_names(VarNames), singletons(Singles) as required per the ISO standard
2021-07-13Add atom_codes/2Peter Mikkelsen
2021-07-13Add atom_length/2Peter 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-08Add a mark-sweep garbage collectorPeter Mikkelsen
2021-07-08Add clause/2 predicatePeter Mikkelsen
2021-07-08Add arithmetic comparison predicatesPeter 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-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-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 exceptions :) implement catch/3 and throw/1Peter Mikkelsen
2021-07-01Start implementation of is/2Peter 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