[mercury-users] higher order syntax
Ralph Becket
rbeck at microsoft.com
Thu Feb 10 23:43:49 AEDT 2000
The mercury syntax allows us to write `P(...)' and
`F(...)' in place of `call(P, ...)' and `apply(F, ...)'
respectively, provided P/F are *variables*
bound to predicate/function values.
On the other hand, if I have, say
:- func f = (func(T1) = T2).
as crops up in, for instance, the monadic style,
I have to write `apply(f, X)' rather than just
`f(X)'.
Similarly, if F has type `func(T1) = (func(T2) = T3)'
then I have to write `apply(F(X), Y)'. Would it be
hard to extend the convenience syntax so that one
could write `F(X)(Y)' instead? Or, if it makes life
any easier for the parser writers, `(F(X))(Y)' and
`(f)(X)'? This syntax looks clearer and less mixed up
and, IIRC, it's what the XSB/HiLog people do.
Cheers,
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