【发布时间】:2012-08-03 08:43:11
【问题描述】:
是否有必要访问内部结构 一个 monad 来编写 monad 转换器?
例如:我想要 GetT - 来自 Data.Binary.Get 的 Get monad 的转换器,
但是这个模块不会暴露Get monad 的内部结构。是不是意味着唯一
我的方法是将GetT 直接添加到Data.Binary.Get 模块?
【问题讨论】:
-
我认为通常情况正好相反。定义 monad 真正实现的是 monad 转换器,然后将其应用于
Identitymonad 以获得该 monad 的“基本”实例(例如,将StateT应用于Identity以获取 @ 987654328@)。当心,我不确定这个:)
标签: haskell monads monad-transformers