Idris is a general purpose language with full dependent types. It is compiled, with eager evaluation. 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. The language is closely related to Epigram and Agda. There is a tutorial at www.idris-lang.org/documentation. Features include: * Full, first class, dependent types with dependent pattern matching * where clauses, with rule, case expressions, pattern matching let and lambda bindings * Interfaces (similar to type classes), monad comprehensions * do notation, idiom brackets, syntactic conveniences for lists, tuples, dependent pairs * Totality checking * Coinductive types * Indentation significant syntax, extensible syntax * Cumulative universes * Simple foreign function interface (to C) * Hugs style interactive environment.
|idris||a general purpose pure functional programming language with dependent types.|