Simon writes:
> 2. The data and type constructors
> (), (,), (,,), etc
> []
> (->)
> are all regarded as "syntax", not as identifiers. They always mean
> their standard meaning (tuples, empty list or list type constructor).
> [No change here.]
>
> The question is: what about the list constructor ":". In principle
> we could regard it as an ordinary identifier, and therefore allow someone
> to redefine it... but
[there are problems.]
>
> I have concluded that it is simpler to treat ":" as syntax, exactly
> uniformly with the others. It always means list construction, and
> it cannot be hidden or redefined.
> <li> Section 2.4. Clarify that <tt>:</tt> is reserved solely for Haskell
> list construction.
What does this mean? Will there only be a remark, or will the syntax
be changed? The other constructors are explicitely handled by the
syntax, so I guess this should be done in this case also. Doing that
'exactly uniformly' would mean productions for expressions e:e,
patterns (p:p) and the constructor (:). But we surely don't want to
loose the sections (e:) and (:e).
Please don't forget them!
All the best,
Christian Sievers