我是 Haskell 的新手,我正在尝试编写一个接受列表并返回布尔值的函数。
True
如果它的输入列表是'a'
仅包含的列表,它将返回,False
否则返回。
这是我最好的猜测:
f :: [a] -> Bool
f ('a':[]) = True
f (x:xs) = False
这无法编译并返回:
Couldn't match type `a' with `Char'
`a' is a rigid type variable bound by
the type signature for f :: [a] -> Bool at charf.hs:6:1
In the pattern: 'b'
In the pattern: 'b' : []
In an equation for `f': f ('b' : []) = True
我的逻辑有什么错误?