diff options
author | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-07-22 16:58:42 +0000 |
---|---|---|
committer | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-07-22 16:58:42 +0000 |
commit | 0cf3816c9419954317fd54da5a063615402bf1d1 (patch) | |
tree | 5d9448eae4b0d8bf10f6f6d8b71be45506eda234 /builtins.c | |
parent | b1f62daf95818858863af0cfe7138a0acac751b2 (diff) |
Actually load repl.pl with the prolog loader, and handle module directives
Diffstat (limited to 'builtins.c')
-rw-r--r-- | builtins.c | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -68,6 +68,7 @@ BuiltinProto(builtinstreamproperties); BuiltinProto(builtinsetstreamposition); BuiltinProto(builtinop); BuiltinProto(builtincurrentops); +BuiltinProto(builtinnewemptymodule); int compareterms(Term *, Term *); @@ -193,6 +194,8 @@ findbuiltin(Term *goal) return builtinop; if(Match(L"current_ops", 1)) return builtincurrentops; + if(Match(L"$new_empty_module", 1)) + return builtinnewemptymodule; return nil; } @@ -1164,7 +1167,7 @@ assertclause(Term *clause, Module *module, int after) p->builtin = 0; p->dynamic = 1; p->next = nil; - module->predicates = appendpredicate(module->predicates, p); + module->predicates = appendpredicate(p, module->predicates); return 1; } @@ -1631,4 +1634,14 @@ builtincurrentops(Term *goal, Binding **bindings, Module *module) Term *realops = mklist(oplist); return unify(ops, realops, bindings); +} + +int +builtinnewemptymodule(Term *goal, Binding **bindings, Module *module) +{ + USED(bindings); + USED(module); + Rune *name = goal->children->text; + addemptymodule(name); + return 1; }
\ No newline at end of file |