Original-Via: uk.ac.nsf; Wed, 4 Dec 91 19:21:59 GMT



1.  On p. 24, 125 it says

    "     type   ->    type_1 -> type_2
    ...
    Function arrow associate to the right."
       Why not be just as explicit for type expressions as for expressions:

        type   ->    btype
               |     btype -> type

        btype  ->    atype
               |     tycon atype_1 ... atype_k

    (atype as before.)

2.  On p. 27, 126 it says
    "    constr   ->   type_1 conop type_2"
       This would allow e.g.   data A = Integer -> Float `OPERA` Bool -> Int.
    But I find that confusing, since '->' otherwise seem to have a very low
    priority, e.g. in \x -> x `OPERA` y.  I suggest you let '->' have the
    same low 'priority' in infix constructor declarations, i.e.:

        constr   ->   btype_1 conop btype_2


                /kent k

Reply via email to