gpt4 book ai didi

haskell - Reader 和 MonadReader

转载 作者:行者123 更新时间:2023-12-02 10:50:11 26 4
gpt4 key购买 nike

为什么 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com