Folks,

George Russell and Wolfram Karl have both noticed that 
'specialid' and 'specialop' are defined in the H98 syntax, but
never used.   Having looked at it, I propose to

1.  Remove all references to 'specialid' and 'specialop'

2.  Instead, add the following paragraph to 5.3 (Import declarations)

"Lexically speaking, the terminal symbols ``as'', ``qualified'' and
``hiding'' are each a varid rather than a reservedid.  They have
special significance only in the context of an import declaration;
in other contexts they may be used as variables."

3.  Similarly, add the following paragraph to 4.2.1 (Strictness fields)

"Lexically, ``!'' is an ordinary varsym not a reservedop; it has special
significance
only in the context of the argument types of a data declaration."


The only other special-op (unary minus) is dealt with at length already.

Any objections?  I don't think this is controversial.

Simon

| -----Original Message-----
| From: George Russell [mailto:[EMAIL PROTECTED]] 
| Sent: 02 October 2001 18:28
| To: Simon Peyton-Jones
| Subject: Yet more lexing pedantry
| 
| 
| Dear Simon Peyton Jones,
| 
| Again not a bug, but specialids appear rather orphaned.  That 
| is, they are defined, but do not appear in any production, so 
| they cannot be used.  One presumes that when "as", 
| "qualified" and "hiding" appear later they are magically to 
| be regarded as specialids rather than varids (which they 
| could also be), but this is nowhere specified and does not 
| seem particularly necessary.  Rather than regarding "as" as a 
| specialid that happens to be "id", would it not simply be 
| better to regard it as a varid that happens to be "as"?
| 
| Best wishes,
| 
| George Russell
| 

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to