我的问题出现在教程Functors, Applicatives, And Monads In Pictures及其JavaScript version之后。 当文本说函子打开了上下文的值时,我知道→5转换正在发生。根据What does the "Just" syntax mean in Haskell?,Just是“定义在Maybe monad的范围内”。 我的问题是什么是如此神奇的整个解开的东
我试图实现一个Maybe-State monad变换器并使用它来实现一个简单的堆栈机器。 状态monad的定义也许应该是正确的。现在我想实现流行: pop :: MaybeT (State Stack) Int
因此,如果堆栈是空的它没有返回,否则返回Just <popped stack>。 这是我到目前为止有: pop :: MaybeT (State Stack) Int
pop = g
我有我的Haskell代码的信息: data Symtable a = General a | Stack a
class Evaluable e where
eval :: (Num a, Ord a) => (Ident -> Maybe a) -> (e a) -> (Either String a)
typeCheck :: (Ident -> String) -> (e a) -