타이핑 규칙을 읽는 방법?


18

점점 더 많은 언어 연구 논문을 읽기 시작했습니다. 프로그래밍에 대해 더 많이 배울 수있는 매우 흥미롭고 좋은 방법입니다. 그러나, 일반적으로 난 항상 (예를 부분의 세 가지에 걸릴 투쟁 섹션이 제공 유형 규칙 : 나는 컴퓨터 과학의 이론적 배경이 부족하기 때문에이).

이 분야에서 시작할 수있는 좋은 책이나 온라인 자료가 있습니까? Wikipedia 는 매우 모호하며 초보자에게는 도움이되지 않습니다.


1
추론 규칙 에 대한 링크 된 기사를 읽었 습니까?
Raphael

2
Benjamin Pierce의 TAPL 은 정말 좋습니다.
Gilles 'SO- 악마 중지'

답변:


25

대부분의 유형 시스템에서 유형 규칙은 다음 형식의 판단을 정의하기 위해 함께 작동합니다.

Γe:τ

이것은 컨텍스트에서 표현식 이 유형 임을 나타냅니다 . 는 의 자유 변수를 유형에 매핑 합니다.e τ Γ eΓeτ
Γe

타입 시스템은 일련의 공리와 규칙 ( 라파엘이 지적한 공식적인 추론 규칙 시스템 )으로 구성됩니다.

공리는 형식입니다

Γe:τ

이것은 판단 가 (항상) 유지 된다는 것을 나타냅니다 .Γe:τ

예를 들면

x:τx:τ

변수 의 유형 이 τ 라고 가정 하면 표현식 x의 유형은 τ 입니다.엑스τ엑스τ

추론 규칙은 이미 결정된 사실을 취하고 더 큰 사실을 구축합니다. 예를 들어 추론 규칙

Γ이자형1:ττ'Γ이자형2:τΓ이자형1 이자형2:τ'

내가 의 도출과 Γ e 2 : τ 의 도출을 가지고 있다면, 나는 Γ e 1 e 2 : τ ' 의 도출을 얻을 수 있다고 말한다 . . 이 경우 함수 응용 프로그램을 입력하기위한 규칙입니다.Γ이자형1:ττ'Γ이자형2:τΓ이자형1 이자형2:τ'

이 규칙을 읽는 방법에는 두 가지가 있습니다.

  • 하향식-두 개의 표현식 (함수 및 다른 표현식)과 유형에 대한 제한이 주어지면 주어진 유형으로 다른 표현식 (함수를 표현식에 적용)을 구성 할 수 있습니다.
  • 상향식-이 식에서 일부 식에 함수를 적용하는식이 주어진 경우이 식을 입력하는 방법은 먼저 두 식을 입력하여 형식이 일부 제약 조건을 충족시키는 것입니다. 즉 첫 번째식이 함수 유형과 두 번째는 함수의 인수 유형이 있습니다.

일부 추론 규칙은 새로운 성분을 추가하여 를 조작 합니다 (아래에서 위로). λ- 추상 규칙은 다음과 같습니다 .Γλ

Γ엑스:τ이자형:τ'Γλ엑스.이자형:ττ'

추론 규칙은 도출 트리를 형성하기 위해 고려되는 표현의 구문에 기초하여 유도 적으로 적용된다. 나무의 잎 (정상)에는 공리가 있고, 추론 규칙을 적용하여 가지가 형성됩니다. 트리 맨 아래에는 입력에 관심이있는 표현이 있습니다.

λ에프.λ엑스.에프 엑스

에프:ττ',엑스:τ에프:ττ'에프:ττ',엑스:τ엑스:τ에프:ττ',엑스:τ에프 엑스:τ'에프:ττ'λ엑스.에프 엑스:τ'λ에프.λ엑스.에프 엑스:τ'

두 책 모두 매우 포괄적이지만 느리게 시작하여 탄탄한 기초를 쌓고 있습니다.



5

해당 Wikipedia 페이지에서 " Type Systems, Luca Cardelli, ACM Computing Surveys "를 권장 합니다.이 규칙은 규칙을 읽는 방법을 이해하는 데 도움이되는 2 페이지 설문입니다. 어쨌든, 규칙을 읽는 방법은 Wikipedia 페이지에 완벽하게 설명되어 있습니다 (또는 2 페이지 설문 조사에서도 더 좋습니다). 그러나 모든 것을 이해하려면 " 타입 시스템 "위키피디아 기사가 좋은 출발점 인 타이핑 시스템 (여러 규칙으로 구성됨)이 무엇인지 이해해야 합니다 (그리고 " 참조 " 섹션에 여러 권의 책 이 있습니다). 계속 진행하려면 페이지를 참조하십시오).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.