Idris is a purely-functional programming language with dependent types, optional lazy evaluation, and features such as a totality checker. Idris may be used as a proof assistant, but it is designed to be a general-purpose programming language similar to Haskell.
Elevate your Idris skills through 57 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Idris is a general purpose pure functional programming language with dependent types. Dependent types allow types to be predicated on values, meaning that some aspects of a program’s behaviour can be specified precisely in the type. It is compiled, with eager evaluation. Its features are influenced by Haskell and ML, and include:
Dependently typed
Safety first! Strong guarantees about the correctness of programs at compile time.
Purely functional
Inspired by lambda calculus, scopes and loops are expressed by defining and calling functions.
Type classes
Categorising types into classes provides type-safe overloading.
Multithreaded
Data being immutable allows for safer and easier-to-reason-about concurrency.
Compact
Idris supplies a small number of general-purpose features.
Innovative
Idris is an actively-developed research testbed
Dependently typed
Safety first! Strong guarantees about the correctness of programs at compile time.
Purely functional
Inspired by lambda calculus, scopes and loops are expressed by defining and calling functions.
Type classes
Categorising types into classes provides type-safe overloading.
Multithreaded
Data being immutable allows for safer and easier-to-reason-about concurrency.
Compact
Idris supplies a small number of general-purpose features.
Innovative
Idris is an actively-developed research testbed