복붙노트

[SCALA] 스칼라의 타입 시스템이 완료 튜링된다. 증명? 예? 혜택?

SCALA

스칼라의 타입 시스템이 완료 튜링된다. 증명? 예? 혜택?

스칼라의 타입 시스템이 완료 튜링 것을 주장이있다. 내 질문이 있습니다 :

나는 이것이 일반적으로 언어 입력 시스템에 적용 같아요.

해결법

  1. ==============================

    1.튜링 완전한 것으로 알려진 스키 콤비 수학의 유형 수준 구현 블로그 포스트 곳이있다.

    튜링 완전한 것으로 알려진 스키 콤비 수학의 유형 수준 구현 블로그 포스트 곳이있다.

    당신은 아무것도 할 수 있지만 거의 증명할 수 : 튜링 완전한 형태의 시스템은 튜링 완전한 언어를 가지고 기본적으로 같은 장점과 단점이있다. 특히, 당신은 당신이 실제로 결국 뭔가를 할 것이라는 점을 입증 할 수 있습니다.

    입력 레벨의 계산의 일례는 스칼라 2.8 신형 보존 수집 변압기이다. 스칼라 2.8에서, 등등지도, 필터 등의 방법과는 그들이 호출 된 것과 같은 종류의 컬렉션을 반환 보장됩니다. 그래서, 당신은 세트 [지능]을 필터링하는 경우, 당신은 세트 [지능]을 다시 얻을 당신이 목록 [문자열]을하게되면, 당신은 목록입니다 [익명 함수의 무엇이든 반환 형식]을 다시 얻을.

    당신이 볼 수있는 지금,지도는 실제로 요소 유형을 변환 할 수 있습니다. 새로운 요소 유형은 원래의 콜렉션 유형으로 표시 할 수없는 경우에 따라서, 어떻게됩니까? 예 : 비트 세트는 고정 폭 정수를 포함 할 수 있습니다. 당신이 비트 세트 [짧은]을 가지고 있고이 문자열 표현으로 각 번호를 매핑한다면, 무슨 일이?

    someBitSet map { _.toString() }
    

    결과는 비트 세트 [문자열] 것,하지만 그건 불가능하다. 따라서, 스칼라는이 경우에 세트 [문자열]는 문자열을 보유 할 수 비트 세트의 가장 유래 퍼를 선택한다.

    이 계산의 모든 유형 수준의 기능을 사용하여 입력 시간을 확인하는 동안 더 정확하게 컴파일 시간 동안 진행, 또는. 따라서, 정적 유형이 실제로 계산하여 디자인 타임에 알 수없는 경우에도, 형식 안전성이 보장된다.

  2. ==============================

    2.SKI는를 인코딩에 내 블로그 게시물 완성도를 튜링 스칼라 타입 시스템 쇼에서 미적분.

    SKI는를 인코딩에 내 블로그 게시물 완성도를 튜링 스칼라 타입 시스템 쇼에서 미적분.

    몇 가지 간단한 식 레벨 계산에 자연 번호 및 추가 / 곱셈을 인코딩하는 방법에 대한 몇 가지 예제도 있습니다.

    마지막으로 Apocalisp의 블로그를 통해 프로그래밍 타입 수준에서 기사의 큰 시리즈가있다.

  3. from https://stackoverflow.com/questions/4047512/the-type-system-in-scala-is-turing-complete-proof-example-benefits by cc-by-sa and MIT license