[SCALA] 스칼라의 타입 시스템이 완료 튜링된다. 증명? 예? 혜택?
SCALA스칼라의 타입 시스템이 완료 튜링된다. 증명? 예? 혜택?
스칼라의 타입 시스템이 완료 튜링 것을 주장이있다. 내 질문이 있습니다 :
나는 이것이 일반적으로 언어 입력 시스템에 적용 같아요.
해결법
-
==============================
1.튜링 완전한 것으로 알려진 스키 콤비 수학의 유형 수준 구현 블로그 포스트 곳이있다.
튜링 완전한 것으로 알려진 스키 콤비 수학의 유형 수준 구현 블로그 포스트 곳이있다.
당신은 아무것도 할 수 있지만 거의 증명할 수 : 튜링 완전한 형태의 시스템은 튜링 완전한 언어를 가지고 기본적으로 같은 장점과 단점이있다. 특히, 당신은 당신이 실제로 결국 뭔가를 할 것이라는 점을 입증 할 수 있습니다.
입력 레벨의 계산의 일례는 스칼라 2.8 신형 보존 수집 변압기이다. 스칼라 2.8에서, 등등지도, 필터 등의 방법과는 그들이 호출 된 것과 같은 종류의 컬렉션을 반환 보장됩니다. 그래서, 당신은 세트 [지능]을 필터링하는 경우, 당신은 세트 [지능]을 다시 얻을 당신이 목록 [문자열]을하게되면, 당신은 목록입니다 [익명 함수의 무엇이든 반환 형식]을 다시 얻을.
당신이 볼 수있는 지금,지도는 실제로 요소 유형을 변환 할 수 있습니다. 새로운 요소 유형은 원래의 콜렉션 유형으로 표시 할 수없는 경우에 따라서, 어떻게됩니까? 예 : 비트 세트는 고정 폭 정수를 포함 할 수 있습니다. 당신이 비트 세트 [짧은]을 가지고 있고이 문자열 표현으로 각 번호를 매핑한다면, 무슨 일이?
someBitSet map { _.toString() }
결과는 비트 세트 [문자열] 것,하지만 그건 불가능하다. 따라서, 스칼라는이 경우에 세트 [문자열]는 문자열을 보유 할 수 비트 세트의 가장 유래 퍼를 선택한다.
이 계산의 모든 유형 수준의 기능을 사용하여 입력 시간을 확인하는 동안 더 정확하게 컴파일 시간 동안 진행, 또는. 따라서, 정적 유형이 실제로 계산하여 디자인 타임에 알 수없는 경우에도, 형식 안전성이 보장된다.
-
==============================
2.SKI는를 인코딩에 내 블로그 게시물 완성도를 튜링 스칼라 타입 시스템 쇼에서 미적분.
SKI는를 인코딩에 내 블로그 게시물 완성도를 튜링 스칼라 타입 시스템 쇼에서 미적분.
몇 가지 간단한 식 레벨 계산에 자연 번호 및 추가 / 곱셈을 인코딩하는 방법에 대한 몇 가지 예제도 있습니다.
마지막으로 Apocalisp의 블로그를 통해 프로그래밍 타입 수준에서 기사의 큰 시리즈가있다.
from https://stackoverflow.com/questions/4047512/the-type-system-in-scala-is-turing-complete-proof-example-benefits by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 스칼라 스트림 클래스와 큰 CSV 파일을 읽습니까? (0) | 2019.11.12 |
---|---|
[SCALA] 방법은 최종 않는 이유는 스칼라 컴파일러는 꼬리 호출 최적화를 적용하지 않습니다? (0) | 2019.11.12 |
[SCALA] 병합 키 매핑 (0) | 2019.11.11 |
[SCALA] 아파치 스파크 - foreachPartitions 대 foreach는 언제 무엇을 사용 하는가? (0) | 2019.11.11 |
[SCALA] 스칼라 매크로의 정적 반환 형식 (0) | 2019.11.11 |