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 e490eb6..b300d11 100644
--- a/eval.c
+++ b/eval.c
@@ -194,6 +194,11 @@ unify(Term *a, Term *b, Binding **bindings)
left = right;
right = tmp;
}
+ if(left->tag == VariableTerm && right->tag == VariableTerm && right->clausenr > left->clausenr){
+ Term *tmp = left;
+ left = right;
+ right = tmp;
+ }
if(runestrcmp(left->text, L"_") == 0)
continue; /* _ doesn't introduce a new binding */