Hostname: page-component-77f85d65b8-jkvpf Total loading time: 0 Render date: 2026-04-23T01:08:42.320Z Has data issue: false hasContentIssue false

Idris, a general-purpose dependently typed programming language: Design and implementation

Published online by Cambridge University Press:  18 October 2013

EDWIN BRADY*
Affiliation:
School of Computer Science, University of St Andrews, St Andrews KY16 9SX, UK (e-mail: ecb10@st-andrews.ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Many 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 of Idris, a new dependently typed functional programming language. Idris is intended to be a general-purpose programming language and as such provides high-level concepts such as implicit syntax, type classes and do notation. I describe the high-level language and the underlying type theory, and present a tactic-based method for elaborating concrete 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.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2013 
Submit a response

Discussions

No Discussions have been published for this article.