Aviva Directory » Computers & Internet » Programming » Idris

Idris is a general-purpose, purely functional programming language that supports dependent types and lazy evaluation.

Designed by Edwin Brady in 2007, the language was influenced by Haskell, with which it shares several features, particularly syntax and types, although Idris has a more advanced type system. Its type system also has similarities with Agda, and its proofs can be compared to Coq. Although it was designed as a general-purpose language, Idris can also be used as a proof assistant. Dependent types are powerful enough to encode most properties of programs and, since an Idris program can prove invariants at compile-time, it has the qualities of a proof assistant.

There are also influences from Clean, Epigram, the ML languages, and Rust.

Still in development by the Idris Community, Idris 2 is expected to have a Chez Scheme backend, which is an implementation of the Scheme programming language, and part of the Lisp family of languages.

Idris will compile to C using a simple foreign function interface.

The continued development of Idris is carried out by the Idris Community, under the leadership of Edwin Brady at the University of Saint Andrews. The language is open-source, using the BSD License.

The focus of this guide is on the Idris programming language, although any editors, IDEs, or other tools designed to facilitate programming in Idris are also appropriate for this category, as are any Idris user groups, forums, tutorials, or guides.



Recommended Resources

Search for Idris on Google or Bing