미세화 유형
Refinement type유형 시스템 |
---|
일반적인 개념 |
주요 카테고리 |
마이너 카테고리 |
유형[1][2][3] 이론에서, 정제형은 정제형의 모든 요소에 적용되는 것으로 가정되는 술어를 가진 유형이다.귀국 형식으로 사용될 때 기능이 엔드 투 엔드 원칙 postconditions로 사용되는 정제란 형식:인스턴스를 반환 자연수 자연수만 허용되는 함수의 형식보다 5f:N→{n∈ Nn5}{\displaystyle f:\mathbb{N}\rightarrow\와 같이{n\in \mathbb 같이 쓸 것 더 큰{N. 전제 조건 표현할 수 있} , n 5 . 미세화 타입은 동작 서브타이핑과 관련되어 있습니다.
역사
정제유형의 개념은 Freeman과 Pfenning의 1991년 [1]ML용 정제유형에 처음 도입되었다. 이 정제유형은 표준 ML의 서브셋에 대한 형식시스템을 나타낸다.유형시스템은 "컴파일 시 더 많은 오류를 검출할 수 있도록 한다."최근에는 Haskell,[4][5] TypeScript[6], Scala 등의 언어용으로 개량형 시스템이 개발되고 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b Freeman, T.; Pfenning, F. (1991). "Refinement types for ML" (PDF). Proceedings of the ACM Conference on Programming Language Design and Implementation. pp. 268–277. doi:10.1145/113445.113468.
- ^ Hayashi, S. (1993). "Logic of refinement types". Proceedings of the Workshop on Types for Proofs and Programs. pp. 157–172. CiteSeerX 10.1.1.38.6346. doi:10.1007/3-540-58085-9_74.
- ^ Denney, E. (1998). "Refinement types for specification". Proceedings of the IFIP International Conference on Programming Concepts and Methods. Vol. 125. Chapman & Hall. pp. 148–166. CiteSeerX 10.1.1.22.4988.
- ^ Vazou, Niki. Liquid Haskell: Refinement Types for Haskell. The 45th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2018).
- ^ Volkov, Nikita (2015). "Refinement types as a Haskell library".
- ^ Panagiotis, Vekris; Cosman, Benjamin; Jhala, Ranjit (2016). "Refinement types for TypeScript". Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. pp. 310–325. arXiv:1604.02480. doi:10.1145/2908080.2908110.