답변:
Haskell은 DataKinds
and와 같은 확장으로 매우 가까울 수 있지만 완전히 종속 된 유형은 없습니다 TypeFamilies
. 내가 아는 한, 현재 문제는 가치 수준의 Haskell은 명백한 바닥을 가지고 있지만 유형 수준의 Haskell은 그렇지 않습니다.
이것 으로 값 의 DataKind
리프팅을 포함하여 다른 유형보다 매개 변수 유형을 막을 수 있습니다 . GHC 7.6부터는 DataKinds
활성화 된 상태에서 타입 레벨 튜플, 타입 레벨 목록 및 (높지 않은 종류의 일반화되지 않은) 모든 타입의 리프팅뿐만 아니라 타입 레벨 내츄럴 및 문자열을 사용할 수 있습니다 , 제한되지 않은 대수 데이터 형식. 템플릿에서 정수를 사용하는 C ++의 기능과 비슷하지만 훨씬 일반적입니다.
Ptharien 's Flame이 현재 상태에 대해 잘 설명한 내용을 조금 확장하기 위해 GHC Haskell은 각 버전에 따라 종속 유형 (상 분리 유지) 방향으로 더 나아가고있는 것으로 보입니다.
예를 들어 이번 9 월 ICFP 2013에서이 프로세스의 다음 단계에 대한 논문 은 종류 및 유형 수준의 축소에 대한 "종속적으로 유형이 지정된 Haskell을 향한 시스템 FC : 종류가 동일한 시스템 FC" 로 제공되어야합니다 . 약 3 년 전에 계획 이 발표되었다 .
그리고 다음 단계도 언급합니다. " 아담 건 드리의 향후 논문 에는 System FC 버전에 Π 유형이 포함될 것이며이 기능을 원어로도 제공 할 수 있기를 원합니다. (개인 커뮤니케이션)"
Haskell은 전통적으로 그것을 위조하려고 시도했지만 결과는 훨씬 더 크고 반복적으로 보이는 유형 시스템입니다. 그러나 이것은 곧 바뀔 수 있습니다! 만나다: