OCaml 中的状态 monad
我试图在 OCaml 中实现状态 monad(作为练习)。我的实现如下所示: module type MONAD_BUILDER = sig type 'a t val return : 'a -> 'a t val bind…
基本 Scalaz 状态问题
如何使用 State 来模仿 List.zipWithIndex 的行为?到目前为止我想出的(不起作用)是: def numberSA[A](list : List[A]) : State[Int, List[(A, Int…
结合 StateT 和 State monad
假设我有一个函数 f :: State [Int] Int 和一个函数: g :: StateT [Int] IO Int 我想在 g 中使用 f 并在它们之间传递状态。有没有库函数 StateT(返…
状态单子:用一种模式交换另一种模式?
因此,我正在用 Haskell 编写一个游戏,并将玩家的回合表示为一系列与各个回合阶段相关的状态改变函数。最初,这看起来像: let game' = phase1 game …
使用 monad 获得更优雅代码的技巧?
我终于掌握了如何使用 monad(不知道我是否理解它们......),但我的代码从来都不是很优雅。我猜想是因为缺乏对 Control.Monad 上的所有这些功能如何…
Haskell:如何在 State monad 之上编写交互式解释器?
我们正在开发一个在内部使用状态 monad 的模型文件系统。我们有一个具有如下操作的类型类: class Monad m => FS m where isDirectory :: Path ->…
StateT和WX gui共存
通常的wxHaskell程序看起来像 main = do run gui gui = do .... .... gui必须有类型IO a,运行有类型IO a -> IO(),在run中还有一些初始化例程。 我…
Haskell Monad 变压器堆栈和类型签名
我正在尝试创建一堆 monad 转换器,但无法为我的函数获取正确的类型签名。 (我对 Haskell 还很陌生) 该堆栈结合了多个 StateT 转换器,因为我需要跟…
使用 State monad 还是递归传递状态更好?
我正在学习 Haskell,并试图找出实现视线算法的最惯用的方法。 我发现的演示代码使用状态单子,但对我来说(我只是一个初学者)递归地传递状态似乎更…
如何在 Haskell 中以隐藏方式初始化状态(就像 PRNG 那样)?
我浏览了一些关于 State monad 的教程,我想我明白了。 例如,如 这个不错的教程: import Data.Word type LCGState = Word32 lcg :: LCGState -> (…
如何“得到”? 实际上/获取/ Haskell 中的初始状态?
我有一个函数: test :: String -> State String String test x = get >>= \test -> let test' = x ++ test in put test' >> get >>=…
使用 Haskell 状态 monad 有代码味道吗?
天哪,我讨厌“代码味道”这个词,但我想不出更准确的词了。 我正在设计一种高级语言& 闲暇时将编译器转换为 Whitespace 来学习编译器构造、语言设…
- 共 1 页
- 1