summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 09bb009..e57f28f 100644
--- a/eval.c
+++ b/eval.c
@@ -28,6 +28,11 @@ evalquery(Term *query)
if(flagdebug)
print("Working goal: %S:%S\n", module->name, prettyprint(goal, 0, 0, 0, nil));
+ if(goal->tag == VariableTerm)
+ goal = instantiationerror();
+ if(goal->tag != AtomTerm && goal->tag != CompoundTerm)
+ goal = typeerror(L"callable", goal);
+
Binding *bindings = nil;
Clause *clause = nil;