[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        |     -- 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