[mercury-users] New to mercury: structure reuse and efficiency
Ralph Becket
rafe at cs.mu.OZ.AU
Tue Jul 6 08:57:44 AEST 2004
Maurizio Colucci, Monday, 5 July 2004:
> On Monday 05 July 2004 01:49, Ralph Becket wrote:
> > The intention is that the user will be able to write something like
> >
> > :- prolog type foo ---> bar ; baz(foo) ; quux(foo, foo).
> >
> > where unification of foo values will work just the way you'd expect them
> > to if you were writing Prolog. ?This way the performance costs
> > associated with "prolog" types are confined purely to those parts of
> > your program that use them.
>
> Will this make the "term" type (in the mercury library) obsolete? Should I
> still "invest" in it?
The term type will still be useful. Use of the new "Prolog types" will
carry with it all the usual determinism-related problems associated with
Prolog programs. If your code is largely deterministic, use term.m. If
your code is not, "Prolog types" may be a neater option.
> (I am asking because find a bit difficult to understand
> the usage of "term")
In the vernacular, a `term' is either a variable or a functor, where a
functor is a pair consisting of a name and a list of subterms (so terms
describe tree structures with named branch nodes). We use `term' to
refer to a piece of syntax or concrete representation.
-- Ralph
--------------------------------------------------------------------------
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