
23 May
2007
23 May
'07
11:29 p.m.
if you want to go down that route: Prelude> let monadic m = m `asTypeOf` return undefined Prelude> :t monadic undefined monadic undefined :: (Monad m) => m a Prelude> :t monadic $ undefined >> return () monadic $ undefined >> return () :: (Monad m) => m () Prelude> :t monadic $ undefined >> [ () ] monadic $ undefined >> [ () ] :: [()] Prelude> :t monadic $ undefined >> [ undefined ] monadic $ undefined >> [ undefined ] :: [a] btw, ghc says: Prelude> :t do undefined do undefined :: t t1 while hugs says: Hugs> :t do undefined do {...} :: Monad a => a b claus