[mercury-users] mercury website (was Suggestion: new operator )

Ralph Becket rbeck at microsoft.com
Wed Oct 25 20:43:53 AEDT 2000


>From Mattias Waldau on 25/10/2000 07:37:54
> 
> The main point I am trying to make is that Mercury has followed the normal
> Prolog-tradition and kept Prolog bad syntax. The reason Prolog has this
> syntax, is that it is easy to implement parser in Prolog for Prolog's kind
> of syntax. That decision was made more than 20 years ago.

One might argue that simplicity of syntax is a virtue (Lisp is still
going strong), but let's not quibble...

> I do not understand why we have to continue this tradition, and still make
> it worse by using '^' where every other normal program language would use
> '->' or '.', using '@' where other languages use '[' or '(', and so on.

Pascal, Modula, Modula 2 and Modula 3 (fine language) all used `^' for
field access.

Visual Basic uses `()' to index into arrays.  Possibly not that great a
pedigree.

But this whole argument is based on shaky ground.  There really isn't
that much commonality of operator meaning between languages (not counting
families borrowing the same syntax from one another).  For example,
ML uses `^' for string concatenation and `@' for append and `o' for
function composition.  Haskell uses `.' for composition while in Perl
(spit) it means string concatenation.  C etc. use `++' to mean pre/post
auto-increment while Haskell and Mercury use it to denote concatenation.
I could go on.

Ralph

--
Ralph Becket      |      MSR Cambridge      |      rbeck at microsoft.com 

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