- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么 Control.Monad.Reader 中有 Reader monad 和 MonadReader monad?包文档讨论了 Reader monad,然后直接进入 MonadReader 文档,没有任何解释。这些单子(monad)之间有什么区别?阅读这些引用页让我非常困惑。有趣的是,Haskell wikibook 的 Reader monad 页面尚未编写!
最佳答案
没有 MonadReader
monad。这是 monad 的类,即那些可以用作 Reader
的 monad(通常,因为它们被定义为 monad变压器堆栈在某处有ReaderT
)。所以,
Reader
是仅充当读取器的特定单子(monad),因为它的ReaderT
仅应用于普通身份单子(monad):
type Reader r = ReaderT r Identity
因此,它显然是 MonadReader
的一个实例,但不执行任何其他操作。
MonadReader
是可以从某些环境读取的所有 monad 的类。同样,这包括 Reader
本身,还包括 MaybeT (ReaderT Int (ListT IO))
。关于haskell - Reader 和 MonadReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366069/
我正在通过镜头 tutorial特别是,尝试了解 view 中涉及的类型。 所以,采用定义 data Atom = Atom { _element :: String, _point :: Point
为什么 Control.Monad.Reader 中有 Reader monad 和 MonadReader monad?包文档讨论了 Reader monad,然后直接进入 MonadReader
我只是设法理解了类的定义MonadReader class Monad m => MonadReader r m | m -> r where ... 看了Haskell中的Functional De
我一直在看Refactoring some Haskell code to use MTL它重构了一些 Haskell 代码以使用 mtl 包中的类型类。 该代码包含一个具有以下签名的 postRes
与使用 Happstack 时一样,我一直在制作自己的服务器 monad 用于处理程序,以覆盖我的数据库和 session ,以及一些错误处理。我最近发现了happstack-clientsessio
我有类型 ActionT TL.Text (ReaderT T.Text IO) 我正在尝试为此创建一个 MonadReader 实例,这样我就不必提出询问,但总是得到 (All instance
考虑下一个例子。我有一个 monad MyM,它只是一个 StateT {-# LANGUAGE TypeFamilies #-} import Control.Monad.State import
我一直在努力理解 mtl通过将其与 persistent 结合使用来构建项目. 该项目的一个模块具有使用 insertMany_ 的功能。 service :: (MonadReader Appl
我刚刚发现 RWST(来自 transformers)不带有 MonadReader、MonadState 的实例,或 MonadWriter。这对我来说似乎有点奇怪,因为这些实例会立即提高可用性,例
据我所知,我们可以实现 MonadReader s (StateT s m)实例: instance MonadReader s (StateT s m) where ask = get
我是一名优秀的程序员,十分优秀!