summaryrefslogtreecommitdiff
path: root/fns.h
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-05 16:27:38 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-05 16:27:38 +0000
commit44ab8a339c78bcc3460d44b2f435116f21faa60a (patch)
treefa512c143c5df81c0c333a187b9083cbac9636f6 /fns.h
parent3f26a0f2a1f699e628136ec5be6178b5ab40fc44 (diff)
First step on modules. Still very very rough.
Diffstat (limited to 'fns.h')
-rw-r--r--fns.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/fns.h b/fns.h
index 236b104..6435499 100644
--- a/fns.h
+++ b/fns.h
@@ -14,14 +14,15 @@ Term *mkcompound(Rune *, int, Term *);
Term *mknumber(int, vlong, double);
Term *mkstring(Rune *);
Term *mklist(Term *);
+Clause *copyclause(Clause *, uvlong *);
/* eval.c */
-int evalquery(Term *, Term *, Binding **);
+int evalquery(Term *, Binding **);
int unify(Term *, Term *, Binding **);
void applybinding(Term *, Binding *);
/* repl.c */
-void repl(Term *);
+void repl(void);
/* builtins.c */
Builtin findbuiltin(Term *);
@@ -55,4 +56,9 @@ int isoutputstream(Term *);
int istextstream(Term *);
int isbinarystream(Term *);
int readterm(Term *, Term *, Term **);
-void writeterm(Term *, Term *, Term *); \ No newline at end of file
+void writeterm(Term *, Term *, Term *);
+
+/* module.c */
+void initmodules(void);
+Module *parsemodule(char *);
+Module *getmodule(Rune *); \ No newline at end of file