gpt4 book ai didi

haskell - 没有明确的实现警告

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

我定义了一个像这样的Stack类

class Stack stack where
push :: a -> stack a -> stack a
top :: MonadPlus m => stack a -> m (a,stack a)
empty :: stack a
isEmpty :: stack a -> Bool

但是当我实现这些方法时

instance Stack [] where
push b bs = b:bs
top [] = mzero
top (b:bs) = return(b,bs)
empty = []
isEmpty [] = True
isEmpty _ = False

我收到此警告:

Warning: No explicit implementation for
`Types.push', `Types.top', `Types.empty', and `Types.isEmpty'
In the instance declaration for `Stack []'

我不知道为什么会出现这个警告。我读到它可能是……。带有缩进,但我不知道这可能有什么问题。

最佳答案

正如 @ThreeFx 提到的,缩进很重要。

您在问题中所写的内容相当于:

instance Stack [] where
-- no implementation here

-- ordinary functions:
push b bs = b:bs
top [] = mzero
top (b:bs) = return(b,bs)
empty = []
isEmpty [] = True
isEmpty _ = False

关于haskell - 没有明确的实现警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28125038/

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