gpt4 book ai didi

Haskell - 执行错误

转载 作者:行者123 更新时间:2023-12-02 08:54:57 25 4
gpt4 key购买 nike

我尝试写一个这个 monad

data W x = W x [String]

instance Monad W where
return x = W x []
W a h1 >>= f = case f a of
W b h2 -> W b (h1++h2)

但是,现在当我使用这个 monad 并尝试在代码中编写 return 或 >>= 时,我会通过编译得到警告:

No explicit method nor default method for Prelude.return in the instance declaration. No explicit method nor default method for Prelude.>>= in the instance declaration.

有人知道如何解决这个警告吗?

非常感谢

最佳答案

假设代码的布局与您的问题中显示的完全相同,问题是您的 return>>= 定义没有缩进,因此它们是被定义为与 Monad 类无关的新顶级函数。缩进它们,它应该可以工作。

关于Haskell - 执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5635953/

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