# PProlog (peter's prolog / plan9 prolog)
This is my prolog compiler/interpreter which is supposed to run on 9front. See the work in progess site at https://pprolog.org
## TODO
* Stop allocating everywhere without freeing
* Lists (works but not using the special instructions from the wam book)
* Numbers (integers are work in progress).
* Fix meta predicates after the experimental module support: the problem can be fixed by converting `Goal` to `Module:Goal` in code which calls a metapredicate, but to do this, I have to add a directive which marks a predicate as meta on some arguments.
## Current limitations
* A lot of the data structures in wam.c have fixed sizes which sucks.
* much much more
Last 5 commits (shortlog)
Date | Author | Short message | Commit hash |
---|---|---|---|
2021-01-31 | Peter | Update meta-predicate note | 68abe961acf35e9c7122afc7ae670e1a16acc290 |
2021-01-28 | glenda | Remove emoji | 7558e058192f10f9cf248979aa6c597d5703d233 |
2021-01-24 | glenda | Add link to pprolog.org | e9d2785cf8ddd777b56c6c6af11908ebe1154fbf |
2021-01-24 | glenda | Remove item from todo list | 6a0c879d7de87ee7c36e2cf49d9ab289273bd97c |
2021-01-24 | glenda | Update readme | 7eb2b0c96b111b968658c57fcbb50e64ddcd0afd |
LICENSE README.md ast.c builtin_call_n.c builtin_consult_1.c builtin_equals_2.c builtin_exceptions.c builtin_fail_0.c builtin_findall.c builtin_halt_0.c builtin_is_2.c builtin_larger_than_2.c builtin_modules.c builtin_read_1.c builtin_term_variables_2.c builtin_typetests.c builtin_wam_print_vars_n.c builtin_write_1.c builtins.c codegen.c dat.h fns.h lists.pl main.c mkfile modules.c names.c parser.c stdlib.pl symtab.c utils.c wam.c