4

可能重复:
什么是“|” 在 Haskell 类定义中?

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

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

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

4

1 回答 1

8

它是一个名为“功能依赖”的扩展,您以后可以通过查看文件顶部来发现它。

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

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

于 2012-11-18T18:41:08.073 回答