以下 ( からData.HList.HListPrelude
、この部分をどのように解釈すればよい| l l' -> l''
でしょうか?
class HAppend l l' l'' | l l' -> l''
where
hAppend :: l -> l' -> l''
それは標準 Haskell (つまり Haskell 2010) の一部ですか、それとも拡張機能ですか?
以下 ( からData.HList.HListPrelude
、この部分をどのように解釈すればよい| l l' -> l''
でしょうか?
class HAppend l l' l'' | l l' -> l''
where
hAppend :: l -> l' -> l''
それは標準 Haskell (つまり Haskell 2010) の一部ですか、それとも拡張機能ですか?
これはFunctional Dependenciesと呼ばれる拡張機能であり、ファイルの先頭を調べることで後で見つけることができます。
それは本質的に とl''
から一意に決定されるl
と言いl'
ます。
HAppend
はマルチパラメータ型クラス (これも拡張) であるため、必須です。