I'd like to throw in an optical consideration
on comprehensions for lists vs. monads:
If comprehensions are allowed for arbitrary monads,
then [x] as an expression means "return, in some monad"
while [x] as a type expression means "the list type".
This is a discrepancy. I think it looks confusing
to disambiguate ['c'] by writing ['c'] :: [Char].
A naive spectator would say: Clearly 'c' :: Char,
so why should putting brackets around both sides have any effect?
Regards,
--
Johannes Waldmann Institut fur Informatik FSU D-07740 Jena Germany
http://www5.informatik.uni-jena.de/~joe/ mailto:[EMAIL PROTECTED]