On 28/05/2009 04:33, michael rice wrote:
Still exploring monads. I don't understand why the type signature for double is OK, but not the one for iota.

Michael

=================

--double :: (Int a) => a -> Maybe b
--double x = Just (x + x)

iota :: (Int a) => a -> [b]
iota  n = [1..n]

--usage: [3,4,5] >>= iota
--should produce [1,2,3,1,2,3,4,1,2,3,4,5]

iota is executed within the monad and as such must respect its law ?


_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe