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

これはFunctional Dependenciesと呼ばれる拡張機能であり、ファイルの先頭を調べることで後で見つけることができます。

それは本質的に とl''から一意に決定されるlと言いl'ます。

HAppendはマルチパラメータ型クラス (これも拡張) であるため、必須です。

于 2012-11-18T18:41:08.073 に答える