class Applicative m => Monad m where ... return :: a -> m a return = pure ... -- оставили как было (по социальным причинам :) -- (>>) :: forall a b. m a -> m b -> m b -- (>>) = (*>) ... https://hackage
(*>) и (>>) равны, вообще-то. Но deni_ok объяснил. Минимальное объявление монады - return и (>>=), а апликатива - pure и (<*>). Тогда поскольку народ не определяет (>>) для монад и исторически определяют (*>) для монад как (>>), получится бесконечная рекурсия.
Comments 8
-- (>>) :: forall a b. m a -> m b -> m b
-- (>>) = (*>)"
а здесь нужно было что-то исправить?
Reply
Reply
Reply
Reply
https://ghc.haskell.org/trac/ghc/milestone/7.10.2?by=type
Постарались, молодцы!
Это вовсе не плохо, что затянули релиз.
Reply
Reply
Leave a comment