这是什么意思?方程a => a - > [a] - >布尔

时间:2017-10-09 15:08:39

标签: haskell

当我找到这种类型的函数elem时,我正在学习:

Eq a => a -> [a] -> Bool

Eq a =>是什么意思?

1 个答案:

答案 0 :(得分:7)

Eq a是一个所谓的类约束。这意味着替换a的类型需要实现Eq类型类。

在像Java这样的编程语言中,这就像实现接口一样。

您可能已经猜到Eq提供了==/=功能。 如果您有多个约束,则类型签名看起来像

fun :: (Ord a, Bounded a) => ...

要查看类型类提供的内容,您可以查看有关hackage的文档或在GHCi中运行:info Ord