Idris
Idris is a general-purpose functional programming language with dependent types, designed to enable type-driven development and formal verification within software. It blends ideas from Haskell with a dependent type system that allows types to depend on values. The language aims to make it practical to encode properties of programs in types and to extract executable code from constructive proofs.
The Idris type system supports dependent types, type inference with explicit dependent annotations, as well as
Historically, Idris originated in academic research at the University of St Andrews in the 2010s. It has
Examples illustrate the power of dependent types: a vector type may encode its length in the type