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



Reply via email to