gpt4 book ai didi

haskell - 为什么 Hackage 上对的 Monad 实例没有返回实现?

转载 作者:行者123 更新时间:2023-12-03 19:39:49 26 4
gpt4 key购买 nike

在写下this answer ,主要是为了更好地理解对作为单子(monad),我偶然发现了this source code在我读到的 Hackage 上,引用 (,) aMonad 实例只有这个

instance Monoid a => Monad ((,) a) where
(u, a) >>= k = case k a of (v, b) -> (u <> v, b)

返回在哪里???我希望能找到类似的东西

    return a = (mempty, a)

除了上面的两行。 return 的这个定义是否以某种方式被其他东西暗示了?或者它可能是在其他地方定义的?

最佳答案

在现代版本的 Haskell 中(特别是 base 版本 4.8.0.0 和更高版本,对应于 GHC 版本 7.10.1 和更高版本),the Monad class has the default implementation return = pure ,所以它的实例只需要定义>>=。这是 Functor-Applicative-Monad Proposal 的结果.

关于haskell - 为什么 Hackage 上对的 Monad 实例没有返回实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66723944/

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