[comp.lang.prolog] Call/1 and goal processing

sehr@uicsrd.csrd.uiuc.edu (06/07/88)

I am in the process of writing an Or-parallel interpreter for Prolog,
and have run across a difficulty.  The question I wonder about is how
other interpreters that use a structure-shared representation go about
implementing call/1 in an efficient manner without unduly penalizing
ordinary goal processing.  It seems that if one allows the interpretation
of dynamically constructed goals (i.e. those constructed via functor/3,
arg/3, and univ (=..)),  then one must cope with the possibility of
variable dereferencing during the selection of a goal to process.  Does
anyone out there know how it is done in other interpreters (C-Prolog,
SB-Prolog, etc.)?

David
-----
David C. Sehr
Center for Supercomputing Research and Development
University of Illinois at Urbana-Champaign
305 Talbot Lab
104 South Wright Street
Urbana, IL 61801-2932

Internet, BITNET:  sehr@uicsrd.csrd.uiuc.edu
UUCP:    {ihnp4,uunet,convex}!uiucuxc!uicsrd!sehr
ARPANET: sehr%uicsrd@uxc.cso.uiuc.edu
CSNET:   sehr%uicsrd@uiuc.csnet