monad允许将状态信息附加到计算中
我正在尝试更新IO功能中的记录。我试图使用状态单子没有成功。我在某处看到一条评论,认为有可能用州政府解决类似的问题。 ...
我正在尝试定义状态机家族,它们的状态有所不同。特别地,更“复杂”的状态机具有通过组合...
注意:这是一种练习,我正在尝试了解事物的工作原理。我试图使在Haskell中执行类似的操作成为可能:f :: Integer-> Integer f n = def $ do i
我试图通过字符串或整数列表进行迭代,计算他们,与我已设法整数0替换字符串项与Haskell的Control.Monad.State试验...
是否有一种优雅的方式来实现这个功能:`(Monad m)=>(s - > a - > m(s,b)) - > s - > [a] - > m [b]`
像(Monad m)=>(s - > a - > m(s,b))这样的函数产生新状态,并且基于先前状态和当前值的新值非常频繁。我们可以使用不同的方法......
Reverse State monad的现实生活和有用的例子
反向状态monad是非常好的,令人兴奋的Haskell语言表达性和懒惰评价的例子。但要理解这个单子并不容易。而且,真的很难......
我需要编写一个也可以支持错误处理的状态monad。我正在考虑将Either monad用于此目的,因为它还可以提供有关导致错误的原因的详细信息。我找到了......
假设我有以下函数:checkA :: a - >或者错误b checkA =未定义checkB :: b - > ST s(要么错误c)checkB =未定义检查:: a - > ST s(要么错误c)检查a = ......
我有一个用状态monad包装的记录器的示例:val logger = Logger(LoggerFactory.getLogger(this.getClass))def logState [A](s:IO [Unit],a:A):State [List [ IO [单位]],A] =国家[...
我完全混淆newtype StateT s m a = StateT {runStateT :: s - > m(a,s)}和类型State s = StateT s Identity和class Monad m => MonadState s m | m - > s
如何理解这个状态Monad Haskell代码片段中的evalState?
我正在查看这个编译器代码片段,并且不了解evalState的作用,是State Monad的新手。 compileToAst :: FilePath - > String - >两个错误(合同(检查类型,环境,......
我正在使用来自猫库的State-Monad来处理我在Scala中实现的纸牌游戏的状态。我有一个函数simulateGame,它应该尽快结束...
Haskell - 无法使用类似Monad的定义定义状态monad函数
我试图通过尝试编写通用版本的函数来理解Monad的概念,然后可能包含副作用以记录,更改状态。这是我想出的:(代码......
我知道普通的国家是如何运作的(编辑:显然不是!)。如果我需要创建一个数组,并且一次创建整个数组不方便,我可以创建一个STArray,填充它,然后冻结...
但是,STT的文档说:这个monad转换器不应该与包含多个答案的monad一起使用,例如list monad。原因是状态令牌将是......
使用StateT monad变换器,我可以创建StateT s [] a类型,它与s - > [(a,s)]同构。现在我更愿意使用STT monad变压器,因为我希望...
我知道这可能很明显,但我的hoogle-fu在这里让我失望。我有一个类型的操作列表:import Data.Vector.Mutable(STVector)[STVector s a - > ST s()]也就是说,一组...
试图掌握我试图使用WriterT和State解决Haskell练习的概念(它是代码第15天的出现)。由于某种原因,我不明白我最终使用负载......
我有一个函数步骤:: Int - > State Int Int step n = get >> = \ x - > put(x`div`n)>> return(x`mod`n)λ> runState(步骤25)41 (16,1)如何运行一系列步骤,......