9
Hindley Milner는 system-f에 대한 제한 사항을 읽었습니다. 그렇다면 누군가가 시스템 -f에서는 입력 할 수 있지만 HM에서는 입력 할 수없는 일부 용어를 제공 할 수 있습니까?Hindley Milner에서 표현할 수없는 system-f의 유형 및/또는 용어는 무엇입니까
Hindley Milner는 system-f에 대한 제한 사항을 읽었습니다. 그렇다면 누군가가 시스템 -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과 함께 다형성 일 수 있지만 함수 매개 변수는 수 없습니다. –