문제

나는에 대해 의심의 여지가 있다는 장치 유형에서의 컨텍스트 유형은 이론과 그 사용에서 다른 경우 시나리오.

을 시작으로,a 단위 유형 으로 볼 수 있습 nullary 제품 유형,즉 단위,하나의 유일한 값 용어는 빈 tuple, ().또한,존재 지도에서 모든 유형을합니다.

지금,그것은 발생되는 사용을 단위의 유형을 넘어 이러한 사소한 정의,사실의 정의에 사용되는 대수적 데이터 형식은 액수의 제품 유형입니다.특히,그것이 가능한 개념을 나타내는 열거된 유형 를 사용하여 합의 장치 유형,예를 들어,에 StandardML 있습니다:

datatype suit = HEARTS | CLUBS | DIAMONDS | SPADES

어디에 마음이 클럽,다이아몬드 스페이드 nullary 제품의 유형에 따라서 모든 동형하는 단위입니다.

나의 심은 다음과 같다:있는 경우에 존재하는 단 하나의 요소의 단위 수있는 방법,형식 시스템 구분이 뚜렷한 인스턴스에서 사용되는 합계 유형상(오는 경우 우리는 또한 빈 tuple...)?나는 그들 간주 될 수있는 모든 동등을 다하는 동형,그러나 그들은 extensionally 다른 사실,심지어 고려하여만 suit 우리가 생각하는 패턴 경기에서 그들...

도움이 되었습니까?

해결책

짧은 대답은 동형 유형이 같지 않음에도 불구하고,행동이 동일하게,그리고 유형을 시스템을 구별할 수 있습니다.에 명목 형식 시스템과 같은 설명,형식은 기본적으로 식별해 자신의 이름을 경우에도,그들이 구조적으로 동일합니다.이 다섯 단위 유형은 당신이 설명:그들이 구조적으로 동등한 것으로,그러나 명목상 동일하지 않고 그래서 그들은 별개로 취급됩니다.

참고하는 패턴 매칭은 직교:당신이 생각할 수 있는 다섯 개의 장치 유형에서 기존의 격리입니다.대부분의 유형이론,취할 수 있는 합계의 두 가지 유형,심지어 두는(공칭)같,예를 들어, Unit + Unit.당신은 여전히 필요한 패턴 일치하는 것은 두 가지 경우:왼쪽 Unit 오른쪽 Unit.명목상의 측면이 중요하지 않지만,많은 프로그래밍 언어 이름을 사용하여 구별하는 사이는 다른 경우 다음과 같이,대수의 summands(특히,언어에서 당신이 어디에만 사용 금액의 뚜렷한 명목상의 유형,표준 ML).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top