9
Hindley Milnerがsystem-fの制限事項を読んだことを覚えています。そうであれば、誰かが私がsystem-fで入力することができるが、HMでは入力できないいくつかの用語を私に提供してもらえますか?Hindley Milnerで表現することができないsystem-fのタイプや用語は何ですか
Hindley Milnerがsystem-fの制限事項を読んだことを覚えています。そうであれば、誰かが私がsystem-fで入力することができるが、HMでは入力できないいくつかの用語を私に提供してもらえますか?Hindley Milnerで表現することができないsystem-fのタイプや用語は何ですか
上位ランク(すなわち、「ファーストクラス」)の多型を含むもの。たとえば:
lambda f : (forall A. A -> A). (f Int 1, f String "hello")
この機能は、すべてのポリモーフィック型のスキームが「prenex」形式(つまり数量詞は外側だけで発生する可能性がでなければなりませんHMで表現できませんタイプ(forall A. A -> A) -> Int * String
を、持っているだろう、ネストされたことはありません)。
この式は関数ではありません。定義(letを使用してバインドされた)はHMと多形性を持つことができますが、関数パラメータではできません。 –