
7 Jan
2008
7 Jan
'08
1:38 a.m.
dons:
It's been pointed out by a couple of people that the type of forever is overly constrained. We get a few more useful programs for free if we change the type:
[generalise type of 'forever' from returning m () to m a Don Stewart
**20080107062656] { hunk ./Control/Monad.hs 42 - , forever -- :: (Monad m) => m a -> m () + , forever -- :: (Monad m) => m a -> m a hunk ./Control/Monad.hs 190 -forever :: (Monad m) => m a -> m () +forever :: (Monad m) => m a -> m a }
And in fact, forever :: (Monad m) => m a -> m b is better still. :) -- Don