Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-27 | remove clausenr from terms, and put it into goals instead. Next up is ↵HEADfront | Peter Mikkelsen | |
implementing the control constructs in C, since they misbehave right now due to the new changes | |||
2021-07-27 | Don't use strings to identify vars, use numbers | Peter Mikkelsen | |
2021-07-23 | Simplify 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-22 | Fix ; again haha, I can't just wrap variable goals in call/1 due to cuts ↵ | Peter Mikkelsen | |
being local in a call | |||
2021-07-22 | Big 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-22 | Implement halt/0, halt/1, and understand the --no-repl flag | Peter Mikkelsen | |
2021-07-22 | Use addgoals to add the goal in catch/3 to the goalstack, allowing mod:pred ↵ | Peter Mikkelsen | |
goals too | |||
2021-07-22 | Make predicates private and static by default, and make them dynamic when ↵ | Peter Mikkelsen | |
using the dynamic/1 predicate | |||
2021-07-22 | Actually load repl.pl with the prolog loader, and handle module directives | Peter Mikkelsen | |
2021-07-21 | Always use a fresh clausenr for read teams, and make sure to update the ↵ | Peter Mikkelsen | |
clausenr in call/1, so cuts are local to that call | |||
2021-07-20 | The 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-20 | Add a new work in progress loader to load all user defined modules | Peter Mikkelsen | |
2021-07-20 | Add op/3 and current_op/3 | Peter Mikkelsen | |
2021-07-19 | More work on streams | Peter Mikkelsen | |
2021-07-18 | Load extra arguments as module files | Peter Mikkelsen | |
2021-07-16 | Handle -d option in prolog | Peter Mikkelsen | |
2021-07-16 | Implement a bit more of prolog flag predicates set_prolog_flag/2 and ↵ | Peter Mikkelsen | |
current_prolog_flag/2 | |||
2021-07-16 | Replace the C repl with one written in prolog :) | Peter Mikkelsen | |
2021-07-16 | Add character input/output | Peter Mikkelsen | |
2021-07-16 | Make operators local to each module, and implement some more correct ↵ | Peter Mikkelsen | |
prettyprint code, used by write_term | |||
2021-07-15 | Make read_term understand the three read options: | Peter Mikkelsen | |
variables(Vars), variable_names(VarNames), singletons(Singles) as required per the ISO standard | |||
2021-07-13 | Add atom_codes/2 | Peter Mikkelsen | |
2021-07-13 | Add atom_length/2 | Peter Mikkelsen | |
2021-07-09 | Add asserta/1, assertz/1, retract/1, abolish/1 (and retract_one/1, which is ↵ | Peter Mikkelsen | |
retract/1 but doesn't backtrack) | |||
2021-07-08 | Add current_predicate/1 builtin | Peter Mikkelsen | |
2021-07-08 | Add a mark-sweep garbage collector | Peter Mikkelsen | |
2021-07-08 | Add clause/2 predicate | Peter Mikkelsen | |
2021-07-08 | Add arithmetic comparison predicates | Peter Mikkelsen | |
2021-07-08 | Implement the full arithmetic part of the ISO spec. | Peter Mikkelsen | |
2021-07-07 | Add copy_term/2 | Peter Mikkelsen | |
2021-07-07 | Make '=..'/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-07 | Oops remove debug print | Peter Mikkelsen | |
2021-07-07 | Make arg/3 work according to spec | Peter Mikkelsen | |
2021-07-07 | Make functor/3 work according to spec | Peter Mikkelsen | |
2021-07-07 | Fix compare/3 for variables named _. They are never equal | Peter Mikkelsen | |
2021-07-06 | Store 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-05 | Turn integers and floats into seperate term types | Peter Mikkelsen | |
2021-07-05 | First step on modules. Still very very rough. | Peter Mikkelsen | |
2021-07-03 | Make the goalstack global just like the choicestack | Peter Mikkelsen | |
2021-07-03 | Add one global choicestack so we don't need to pass it around | Peter Mikkelsen | |
2021-07-03 | Start adding support for read_term and write_term | Peter Mikkelsen | |
2021-07-02 | Start work on input/output streams | Peter Mikkelsen | |
2021-07-02 | Fix Throw(What) macro | Peter Mikkelsen | |
2021-07-02 | Begin work on set_prolog_flag/2 and current_prolog_flag/2 | Peter Mikkelsen | |
2021-07-02 | Remove strings, and add a (currently not changable) flag 'double_quotes' ↵ | Peter Mikkelsen | |
which defines how double quoted strings are stored. | |||
2021-07-01 | Add exceptions :) implement catch/3 and throw/1 | Peter Mikkelsen | |
2021-07-01 | Start implementation of is/2 | Peter Mikkelsen | |
2021-06-30 | Add =../2 | Peter Mikkelsen | |
2021-06-30 | Add arg/3 | Peter Mikkelsen | |
2021-06-30 | Add functor/3 | Peter Mikkelsen | |