monad-transformers

monad-transformers

文章 0 浏览 4

需要 MonadPlus (ST a) 实例

我正在阅读论文 Haskell 中的类型化逻辑变量,但我无法理解最终实现的细节。特别是第 4 节中介绍的回溯状态转换器。出于某种我不知道的原因,GHC 认为…

韵柒 2024-12-08 20:16:13 5 0

有没有更好的方法在 Haskell 中实现多通道 Writer monad?

问题: 我需要在同一个 Haskell monad 转换器堆栈中组合不同类型的 writer monad。除了使用 tell 编写调试消息之外,我还想用它来编写其他一些数据类…

白馒头 2024-12-05 14:04:01 5 0

将 monad 组合抽象为变压器

抱歉,如果这个问题看起来有点微不足道……它不适合我。 我很高兴地编写了以下 monad: type SB i a = ReaderT ( AlgRO i ) (State ( AlgState i ) ) …

自由如风 2024-12-04 18:08:38 3 0

更多 rmonad 库?

我想用 RMonad 做一些基本的事情。有没有办法使用“as monad”功能来 拥有身份 rmonad,以应用 monad 转换器? 有诸如 StateT 变压器之类的常见东西吗…

梨涡 2024-12-03 18:29:20 4 0

monads-tf:MonadState 的 MonadReader 实例

考虑下一个例子。我有一个单子 MyM 它只是一个 StateT {-# LANGUAGE TypeFamilies #-} import Control.Monad.State import Control.Monad.Reader type…

心凉怎暖 2024-12-02 22:21:33 4 0

Haskell 的 monad 转换器在分类术语中是什么?

作为一名数学学生,当我了解 Haskell 中的 monad 时,我做的第一件事就是检查它们是否确实是我所知道的意义上的 monad。但后来我了解了 monad 转换器…

时光暖心i 2024-11-26 11:58:20 5 0

mapMonadTrans :: MonadTrans xT => (ma→nb)→ xTma-> xTnb

问题是这样的。我有: f :: MonadIO m => ReaderT FooBar m Answer; f = (liftIO getArgs) >>= ... 我需要使用修改后的参数来运行它。然而,由于 m 未…

一瞬间的火花 2024-11-18 22:00:18 7 0

在 Haskell 中混合 Monad

我正在尝试在 haskell 中使用 Ubigraph,但我相信我的问题更通用。我正在尝试编译: import Graphics.Ubigraph import Control.Monad import System.P…

非要怀念 2024-11-03 19:20:25 5 0

接口抽象设计

目前,我尝试编写一个小游戏程序(Skat)作为业余爱好项目。 Skat 是一种夺牌游戏,由两名玩家对抗一名玩家。由于有不同类型的播放器(本地播放器、网…

烟雨扶苏 2024-11-03 15:35:02 7 0

Monad 转换器库 - 使用哪一个?

Closed. This question is off-topic. It is not currently accepting answers. 想要改进此问题吗?更新问题,使其关于- Stack Overflow 的主题。 11…

隱形的亼 2024-11-03 05:52:40 9 0

monad 转换器中的内部 monad 是否有 `replicateM` 函数?

假设我有这样的东西: data Environment = ... data MyState = ... data Report = ... updateState :: Environment -> MyState -> MyState updateStat…

仲春光 2024-10-22 03:59:24 8 0

为什么要为 monad 定义单位自然变换——这不是由 monad 的定义暗示的吗?

monad 被定义为类别 C 上的一个 endofunctor。比方说,C 具有类型 int 和 bool 以及其他构造类型作为对象。现在让我们考虑一下在此类别上定义的列表 …

万劫不复 2024-10-21 08:51:46 7 0

为什么将 Data.Binary.Put monad 更改为转换器会导致内存泄漏?

我正在尝试将 Data.Binary.PutM monad 修改为 monad 转换器。所以我开始将它的定义从 newtype PutM a = Put { unPut :: PairS a } to newtype PutM a …

彩虹直至黑白 2024-10-21 06:55:06 6 0

如何在 Haskell 中将树数据结构保存到二进制文件

我正在尝试使用 Haskell 将一个简单(但相当大)的树结构保存到二进制文件中。结构看起来像这样:-- For simplicity assume each Node has only 4 chi…

够钟 2024-10-19 15:57:42 11 0

为什么包装 Data.Binary.Put monad 会导致内存泄漏? (第二部分)

正如我的上一个问题,我正在尝试将 Data.Binary.Put monad 包装到另一个 monad 中,以便稍后我可以问它诸如“它将写入多少字节”或“文件中的当前位置…

毁梦 2024-10-17 20:30:58 7 0
更多

推荐作者

忆悲凉

文章 0 评论 0

hgfg1645

文章 0 评论 0

qq_qLPLYi

文章 0 评论 0

戏舞

文章 0 评论 0

殊姿

文章 0 评论 0

﹂绝世的画

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文