我想在Haskell中创建我自己的单曲,让Haskell像其他在monad中构建的一样对待它。例如,下面的代码用于创建一个monad,它在每次调用全局状态变量时更新某个全局状态变量,以及一个用于计算调用quot函数次数的评估器:type M a= State -> (a, State)
-- define the return and bind operators for th
Reader r r当我阅读State monad时,它和它的get函数具有相同的概念。该案文解释说:我猜这是关键,同样的事情也发生在阅读器上,但我不明白它是如何工作的.当上面的示例通过runReader运行时,提供的值如何突然显示为ask的结果?ask的Haskell文档say:检索monad环境。但我的困惑是从哪里来的?虽然这个例子是Pure
我目前正在学习Haskell的书,学习Haskell,并为Log和最大的通用除数程序编写脚本,介绍Writer monad。我理解它们所做的事情,但是在ghci中加载它们会导致错误。请参阅:-- Log Number variable `writer' (imported from Control.Monad</e