gpt4 book ai didi

haskell - 我必须实现 Applicative 和 Functor 来实现 Monad

转载 作者:行者123 更新时间:2023-12-04 09:10:41 25 4
gpt4 key购买 nike

我正在尝试实现一个 Monad 实例。作为一个更简单的示例,假设以下内容:

data Maybee a = Notheeng | Juust a 

instance Monad Maybee where
return x = Juust x
Notheeng >>= f = Notheeng
Juust x >>= f = f x
fail _ = Notheeng

据我所知,这应该是 Maybe 的标准实现。但是,这不会编译,因为编译器会提示:

No instance for (Applicative Maybee)



同样,一旦给出 Applicative,他就想要一个 Functor 实例。

所以:简单的问题:我必须在实现 Monad 之前始终实现 Functor 和 Applicative 吗?

最佳答案

是的,以前不是这样,这是在 ghc7.10 中以 Functor-Applicative-Monad Proposal 的名义引入的更改.

关于haskell - 我必须实现 Applicative 和 Functor 来实现 Monad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844824/

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