[m-rev.] field syntax (was: smart recompilation)

Ralph Becket rbeck at microsoft.com
Thu Jul 5 19:50:41 AEST 2001


> From: Tyson Dowd [mailto:trd at cs.mu.OZ.AU]
> Sent: 05 July 2001 10:36
> 
> Your support of the status quo makes things less convenient for people
> who *do* care about the distinction between field accessors and
function
> applications.

But what is the difference?
 
> My impression of the situation was that you normally can't use field
> accessors as higher order functions without writing an explicit lambda
> anyway (because they are multi-moded), so the loss of convenience in
> using quoted names or wrapper functions is hardly a big deal.

Yes - and that's a pain.

> I find it disturbing that the use of field selection as general
function
> application is not documented in the language reference manual (it
> specifically refers only to selecting fields, not applying functions),
> but is being used as some kind of justification for sticking with what
> we have at the moment.
> 
> I do not remember a general function application mechanism being part
of
> the original proposal field selection proposal, and just because we
got
> one for free doesn't mean we are now obliged to keep it.

Perhaps we can resolve this by adding a new operator ($, say) which 
acts like (^), but intended as backwards function application.

We can then use the '= foo', 'foo :=' renaming scheme and (^) 
(transformed to use ($)) for fields.

Any takers?

- Ralph
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list