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