summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-20The iso standard want's call(G) to throw a type_error(callable, G), when G ↵Peter Mikkelsen
contains parts that cannot be called, but it is OK for parts of G to be variables, such as G=(write(hey), X).
2021-07-20Throw errors when trying to evaluate goals that cannot be evaluatedPeter Mikkelsen
2021-07-20Add support for character code constants like 0'aPeter Mikkelsen
2021-07-20Add a bit of a hack to the parser so it can parse (a) op arg when a is an ↵Peter Mikkelsen
operator
2021-07-20Support '' in tokensPeter Mikkelsen
2021-07-20Add a new work in progress loader to load all user defined modulesPeter Mikkelsen
2021-07-20Add a space between printout and ; or .Peter Mikkelsen
2021-07-20Add op/3 and current_op/3Peter Mikkelsen
2021-07-19Update TODOPeter Mikkelsen
2021-07-19Try to print A = B instead of A = _X, B = _X when two variables are equalPeter Mikkelsen
2021-07-19Print errors better in the replPeter Mikkelsen
2021-07-19More work on streamsPeter Mikkelsen
2021-07-18Load extra arguments as module filesPeter 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-16Handle the 'unknown' prolog flag correctlyPeter Mikkelsen
2021-07-16Implement a bit more of prolog flag predicates set_prolog_flag/2 and ↵Peter Mikkelsen
current_prolog_flag/2
2021-07-16Pass arguments to repl/1Peter Mikkelsen
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_concat/3Peter Mikkelsen
2021-07-13Add atom_codes/2Peter Mikkelsen
2021-07-13Add atom_length/2Peter Mikkelsen
2021-07-13Implement sort/2 and setof/3Peter Mikkelsen
2021-07-13When binding two variables to eachother, always bind to the one with the ↵Peter Mikkelsen
lowest clause number
2021-07-11Using member and then cut always picks the first element anyways, so just ↵Peter Mikkelsen
pick it with = instead
2021-07-11Try to implement bagof/3, but I am not 100% sure it is correctPeter Mikkelsen
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