give equal rights to types and classes! :)
Johannes Waldmann
waldmann at imn.htwk-leipzig.de
Tue Jan 31 09:34:44 EST 2006
Bulat Ziganshin wrote:
> instead of writing
> foo :: (Num a, Monad m) => a -> m ()
> allow to write
> foo :: Num -> Monad ()
as has been noted, that would be special treatment
for unary type classes with argument of kind *.
Also, *if* we want such a shorthand, it is not clear whether we want
existential or forall typing per default. Referring to your example,
the "foo" function must be able to return a value in *each* monad
that the caller specifies at the call site, while we were discussing
functions that make their own choice of returning *some* monad instance.
Best regards,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
---- http://www.imn.htwk-leipzig.de/~waldmann/ -------
More information about the Haskell-prime
mailing list