以下(来自Data.HList.HListPrelude
,如何解释| l l' -> l''
部分?
class HAppend l l' l'' | l l' -> l''
where
hAppend :: l -> l' -> l''
它是标准Haskell(即Haskell 2010)的一部分还是扩展?
答案 0 :(得分:8)
这是一个名为Functional Dependencies的扩展程序,您可以通过查看文件顶部来查看它。
它基本上说l''
是由l
和l'
唯一确定的。
这是必需的,因为HAppend
是一个多参数类型类(也是一个扩展名)。