[mercury-users] Re: Lisp-like syntax for Mercury (Mercury & macros)

Peter Schachte schachte at cs.mu.OZ.AU
Tue Jun 11 13:21:35 AEST 2002

On Mon, Jun 10, 2002 at 01:18:40PM +1200, Richard A. O'Keefe wrote:
> 	How about font-locking with things like heavy overloading of the quote
> 	character (0'a, 'term'(...), 'string')?
> I don't want, don't use, and therefore in my editor, don't have
> font-lock.  So no problem.  However, term movement gets 0'a and 'xxx'
> perfectly correct, not hard at all.

I have to disagree here.  Travarsing terms *backwards* is difficult
due in part to single quotes.  For example, if you see on the last
line of a term:

	X = 0' .

You can't tell whether the previous line (or some line further back)
has an unbalanced single quote, maybe looking like:

	Y = ',

which binds Y to the atom ',\n\tX = 0'.  If instead the previous line

	Y = '',

then the last line does what it looks like:  it binds X to 32.

> I have never found an Emacs mode where automatic indentation was even
> tolerable.

I haven't found one I'm happy with, either, including the one I wrote.
But I still find them better than doing all the layout myself.  And I
look back on Xerox Lisp's SEdit structure editor with increasing
nostalgia and impatience for such a beast to appear again, but able to
handle languages with a more complex syntax than Lisp's.  To me,
laying out my source code is about as interesting as laying out
paragraphs like this one:  I just can't see why I should spend any
time, effort, or attention on it.

> However, '.' followed by white space is
> end of clause, '.' followed by anything else isn't.

Not true:

	  X =  0'.
	, Y = '0'.

is a single Prolog term, not two.

Of all the possible characters that could have been chosen as a radix
mark, using a single quote seems like one of the worst possibilities.

Peter Schachte              Not everything that counts can be counted.
schachte at cs.mu.OZ.AU            -- Denis Burkitt 
Phone: +61 3 8344 9166      
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