Monad (MaybeT m) where fail _ = MaybeT (r-6ren">
gpt4 book ai didi

haskell - 为什么 MaybeT 没有函数 `quit = fail ""`?

转载 作者:行者123 更新时间:2023-12-04 07:00:55 26 4
gpt4 key购买 nike

查看 MonadMaybeT 实例中 fail 的源代码:

instance (Monad m) => Monad (MaybeT m) where
fail _ = MaybeT (return Nothing)

显然没有使用fail 的参数。那为什么没有像 quit::MaybeT m () 这样更简洁的函数来避免我们每次都输入 fail "" 呢?还是我遗漏了什么?

最佳答案

这就是mzero is对于 MaybeTMonadPlus实例(除了类型比您提供的类型更通用:对于 MaybeT 实例,我们有 mzero::Monad m => MaybeT m a)。

关于haskell - 为什么 MaybeT 没有函数 `quit = fail ""`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33138928/

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