Я был дан следующий кусок кода, который я пытаюсь получить мою голову вокруг: data MyExample e i = MyExample (CustomMonad e i)
| forall b. MyExample e b :>>= (b -> CustomMonad e b)
| forall
У меня есть этот типа, в основном Клейл стрелок: {-# language DeriveFunctor #-}
data Plan m i o = Plan (i -> m o) deriving Functor
instance (Monad m) => Applicative (Plan m i) where
pure x =
Я пытаюсь написать синтаксический анализатор с использованием parserspackage с использованием do. Вот пример: {-# LANGUAGE ApplicativeDo #-}
import Text.Parser.Char (string, spaces)
import Text.Pars