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