From: Bart D. <Bar...@cs...> - 2002-02-28 00:12:40
|
> When you call the dynamic goal, you build a new indexing code, say > I_{k}. Choice-points will always point here. That seems similar to do on a dynamic call p(X) something like findall(p(X),p(X),Pxs), member(p(X),Pxs) (at least if p/1 has only facts). And similar to what Chris Moss described in his 1986 ICLP-London paper "Cut and Past in Prolog" (or something similar). It behaves badly when you need only a few of all the answers. >> All semantics (except the SIGSEGV one) require some form of gc. ... > GC is only needed if you want to recover space in forward execution. You can always recover heap space on backtracking too, but would you not agree that Prolog requires a heap gc ? Cheers Bart |