The idris package
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 http://www.idris-lang.org/documentation. Features include:
Full dependent types with dependent pattern matching
where clauses, with rule, simple case expressions, pattern matching let and lambda bindings
Type classes, monad comprehensions
do notation, idiom brackets, syntactic conveniences for lists, tuples, dependent pairs
Indentation significant syntax, extensible syntax
Tactic based theorem proving (influenced by Coq)
Cumulative universes
Simple foreign function interface (to C)
Hugs style interactive environment
Properties
| Versions | 0.1.3, 0.1.3.1, 0.1.4, 0.1.5, 0.1.7, 0.1.7.1, 0.9.0, 0.9.1, 0.9.2, 0.9.2.1, 0.9.3, 0.9.3.1, 0.9.4, 0.9.4.1, 0.9.5, 0.9.5.1, 0.9.6, 0.9.6.1, 0.9.7 |
|---|---|
| Dependencies | base (4.*), binary, bytestring, Cabal, containers, directory, epic (≥0.9.3), filepath, haskeline, mtl, parsec, pretty, process, transformers |
| License | BSD3 |
| Author | Edwin Brady |
| Maintainer | Edwin Brady <eb@cs.st-andrews.ac.uk> |
| Stability | Beta |
| Category | Compilers/Interpreters, Dependent Types |
| Home page | http://www.idris-lang.org/ |
| Source repository | git clone git://github.com/edwinb/Idris-dev.git |
| Executables | idris |
| Upload date | Thu Mar 29 11:08:04 UTC 2012 |
| Uploaded by | EdwinBrady |
Downloads
- idris-0.9.2.1.tar.gz (Cabal source package)
- package description (included in the package)