Eagerly evaluating all predicate calls in Prolog -
reading swi-prolog documentation on meta-predicates, assumed call(f, ...)
equivalent f(...)
, f
predicate. observe behavior of 2 diverge in cases. instance, suppose knowledge base includes clause f(g(x))
. query call(f, g(x))
succeeds, whereas f(call(g, x))
not. problematic, because need use clauses bodies include nested predicate calls. i'd prolog evaluate predicate calls eagerly (i wonder if right word?), such query f(call(g, x))
reduces f(g(x))
before unification begins, , succeeds. possible?
Comments
Post a Comment