[mercury-users] The Logic of Mercury
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu Sep 9 17:48:26 AEST 1999
On 09-Sep-1999, Lee Naish <lee at cs.mu.OZ.AU> wrote:
>
> In message <199909080908.TAA13452 at beddoe.cs.monash.edu.au>you write:
> >
> >>> What percentage of the higher order code you have written uses data
> >>> structures containing higher order objects?
> >
> >All HAL constraint solvers which support delay are written using a data
> >structure which contains high order (goals to be executed whenver the delay
> >condition is met). The structure usually relates, among other things, the
> >delayed goals to the solver variables they are waiting for.
>
> I suspect you might be using call/1, in which case its not an issue for
> call/N versus apply/3 (like the lazy evaluation trf). Is that the case?
The module extras/trailed_update/var.m in the Mercury extras distribution
is a Herbrand constraint solver which supports delay. It uses the same
implementation technique that Maria describes. It uses call/2 and call/3,
not call/1.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list