[mercury-users] Question

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Aug 24 19:42:56 AEST 1999

On 24-Aug-1999, Juergen Stuber <juergen at mpi-sb.mpg.de> wrote:
> Fergus Henderson <fjh at cs.mu.OZ.AU> writes:
> > The other question is about the rationale for that language design choice:
> > why did we choose this design?  Why should the language be defined in a way
> > that causes `Double = scalar_product([2])' to be handled differently from
> > `FY = F(Y)' when `F' is a binary function?  The answer to this one is that
> > the former is easier to type than the latter.
> This is because apply is overloaded to take an arbitrary number of arguments.
> If everything were curried in the first place (like in ML or Haskell) and
> F(X1,...,Xn) were just syntactic sugar for (...((F(X1))(X2))...(Xn))
> then this wouldn't be a problem, or would it?

You are correct, it wouldn't be a problem.

However, making everything implicitly curried isn't as straight-forward
as it sounds, I think, due to interactions with predicates and the mode
system.  Also it's more difficult to implement efficiently, I think.

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