3
(=<<) :: (a -> m b) -> m a -> m b
id :: a -> a
join :: m (m a) -> m a

だからすべきではない、

(=<<) id

エラーを出すのは、

id :: a -> a

ではなく、

id :: a -> m a

期待しない(= <<)、

(something -> m anything)

その最初の議論として?

4

1 に答える 1

6

m a' -> m a'も一種なa -> aので、

      id ::  m a' -> m a'                        -- a = m a'
   (=<<) :: (m a' -> m a') -> m (m a') -> m a'   -- a = m a', b = a'

(=<<) id ::                   m (m a') -> m a'
于 2012-08-18T09:56:03.373 に答える