Abstract
AbstractMany components of a dependently typed programming language are by now well understood, for example, the underlying type theory, type checking, unification and evaluation. How to combine these components into a realistic and usable high-level language is, however, folklore, discovered anew by successive language implementors. In this paper, I describe the implementation ofIdris, a new dependently typed functional programming language.Idrisis intended to be ageneral-purposeprogramming language and as such provides high-level concepts such as implicit syntax, type classes anddonotation. I describe the high-level language and the underlying type theory, and present a tactic-based method forelaboratingconcrete high-level syntax with implicit arguments and type classes into a fully explicit type theory. Furthermore, I show how this method facilitates the implementation of new high-level language constructs.
Publisher
Cambridge University Press (CUP)
Reference33 articles.
1. OutsideIn(X)Modular type inference with local assumptions
2. First-Class Type Classes
3. Norell U. (2007). Towards a Practical Programming Language Based on Dependent Type Theory, PhD thesis, Chalmers University of Technology, Sweden.
4. McBride C. (1999) Dependently Typed Functional Programs and their Proofs, PhD thesis, University of Edinburgh, Edinburgh, UK.
Cited by
194 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Term Search in Rust;Proceedings of the 9th ACM SIGPLAN International Workshop on Type-Driven Development;2024-08-28
2. Type-Level Property Based Testing;Proceedings of the 9th ACM SIGPLAN International Workshop on Type-Driven Development;2024-08-28
3. Gradual Indexed Inductive Types;Proceedings of the ACM on Programming Languages;2024-08-15
4. Robust Verification of PEG Parser Interpreters;2024 IEEE Security and Privacy Workshops (SPW);2024-05-23
5. Student satisfaction and co-creation behavior in game-based learning in the context of higher education;Journal of Marketing for Higher Education;2024-05-07