什么是`... | a b - >在类型类声明中c`是什么意思?

时间:2012-11-18 18:36:44

标签: haskell typeclass

  

可能重复:
  What’s the “|” for in a Haskell class definition?

以下(来自Data.HList.HListPrelude,如何解释| l l' -> l''部分?

class HAppend l l' l'' | l l' -> l''
 where
  hAppend :: l -> l' -> l''

它是标准Haskell(即Haskell 2010)的一部分还是扩展?

1 个答案:

答案 0 :(得分:8)

这是一个名为Functional Dependencies的扩展程序,您可以通过查看文件顶部来查看它。

它基本上说l''是由ll'唯一确定的。

这是必需的,因为HAppend是一个多参数类型类(也是一个扩展名)。

相关问题