[pypy-svn] r44081 - pypy/branch/prolog-bytecode/pypy/lang/prolog/builtin
cfbolz at codespeak.net
cfbolz at codespeak.net
Thu Jun 7 12:42:01 CEST 2007
Author: cfbolz
Date: Thu Jun 7 12:42:01 2007
New Revision: 44081
Modified:
pypy/branch/prolog-bytecode/pypy/lang/prolog/builtin/database.py
Log:
fix retract
Modified: pypy/branch/prolog-bytecode/pypy/lang/prolog/builtin/database.py
==============================================================================
--- pypy/branch/prolog-bytecode/pypy/lang/prolog/builtin/database.py (original)
+++ pypy/branch/prolog-bytecode/pypy/lang/prolog/builtin/database.py Thu Jun 7 12:42:01 2007
@@ -47,11 +47,13 @@
while rulechain:
rule = rulechain.rule
oldstate = engine.heap.branch()
- # standardizing apart
try:
- deleted_body = rule.clone_and_unify_head(engine.heap, head)
+ memo = {}
+ rulehead = rule.head.copy(engine.heap, memo)
+ rulehead.unify(head, engine.heap)
if body is not None:
- body.unify(deleted_body, engine.heap)
+ rulebody = rule.body.copy(engine.heap, memo)
+ rulebody.unify(body, engine.heap)
except error.UnificationFailed:
engine.heap.revert(oldstate)
else:
More information about the Pypy-commit
mailing list