함수의 메모리 사용과 같은 속성을 종속 형식 언어로 표현할 수 있습니까?


11

총체적, 기능적 순도 등을 넘어서 코드의 속성에 대해 추론하고 싶다고 가정 해 보자. 또한 메모리 소비 나 함수의 알고리즘 복잡성에 관심이있다. 의존적 타이핑 및 효과 시스템을 통해이를 수행 할 수 있습니까?


2
비디오에서 Brian McKenna는 유형으로 시간 복잡성을 인코딩하는 예를 제공합니다.
Anton Trunov

답변:


8

예, 그럴 수 있습니다. 개념적으로 그렇게 어렵지는 않지만 그렇게 많이 연구되지는 않았습니다. 이 분야의 한 측면은 Guy Blelloch 의 연구와 같은 비용 의미론 입니다.

Antonin이 언급 한 비디오의 맥락 에서 순전히 기능적인 데이터 구조를위한 경량 준공식 시간 복잡도 분석 에서 Daniellson의 연구가 언급되었습니다 . 이것은 실제로 작업 당 비용을 운반하기 위해 모나드를 사용합니다. 시맨틱 레벨에서 유사한 모나드 가 유도 형 유형의 기능적 언어에 대한 Dencosttional cost 시맨틱에 사용됩니다 . 다음 은 실행 시간 내부 검증을위한 Coq 라이브러리 인 Coq에서 비슷한 작업을 수행하는 2016 년 논문 입니다.

NuPRL 사람들은 오랫동안 이와 같은 일에 관심이있었습니다. 에서는 Contstructive 타입 이론적 계산의 복잡성을 표현 기본적 구조 연산 의미론 통해 계산에 달한다. 좀 더 흥미로운 부분은 언어 의미를 언어에 반영 할 수 있다는 것입니다. Naive Computational Type Theory 의 마지막 섹션 인 섹션 12의 예는 이러한 종류의 것을 설명하고 설명합니다.

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