From: Don Stewart Date: Tue, 29 Jan 2008 19:19:40 +0000 (+0000) Subject: Generalise type of forever :: (Monad m) => m a -> m b X-Git-Tag: 2008-05-28~79 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=743f62cdb37ffd730f6ab36357b25a263c93955d;p=ghc-base.git Generalise type of forever :: (Monad m) => m a -> m b --- diff --git a/Control/Monad.hs b/Control/Monad.hs index b7785dd..479a78c 100644 --- a/Control/Monad.hs +++ b/Control/Monad.hs @@ -39,7 +39,7 @@ module Control.Monad , (=<<) -- :: (Monad m) => (a -> m b) -> m a -> m b , (>=>) -- :: (Monad m) => (a -> m b) -> (b -> m c) -> (a -> m c) , (<=<) -- :: (Monad m) => (b -> m c) -> (a -> m b) -> (a -> m c) - , forever -- :: (Monad m) => m a -> m () + , forever -- :: (Monad m) => m a -> m b -- ** Generalisations of list functions @@ -187,7 +187,7 @@ f >=> g = \x -> f x >>= g (<=<) = flip (>=>) -- | @'forever' act@ repeats the action infinitely. -forever :: (Monad m) => m a -> m () +forever :: (Monad m) => m a -> m b forever a = a >> forever a -- -----------------------------------------------------------------------------