idris: Functional Programming Language with Dependent Types

[ bsd3, compilers-interpreters, dependent-types, library, program ] [ Propose Tags ]

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:

Versions [faq] 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, 0.9.8, 0.9.9, 0.9.9.1, 0.9.9.2, 0.9.9.3, 0.9.10, 0.9.10.1, 0.9.11, 0.9.11.1, 0.9.11.2, 0.9.12, 0.9.13, 0.9.13.1, 0.9.14, 0.9.14.1, 0.9.14.2, 0.9.14.3, 0.9.15, 0.9.15.1, 0.9.16, 0.9.17, 0.9.17.1, 0.9.18, 0.9.18.1, 0.9.19, 0.9.19.1, 0.9.20, 0.9.20.1, 0.9.20.2, 0.10, 0.10.1, 0.10.2, 0.10.3, 0.11, 0.11.1, 0.11.2, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.99, 0.99.1, 0.99.2, 1.0, 1.1.0, 1.1.1, 1.2.0, 1.3.0, 1.3.1, 1.3.2
Dependencies base (==4.*), binary, bytestring, Cabal, containers, directory, filepath, haskeline (>=0.7), language-java (>=0.2.2), libffi, mtl, parsec (>=3), pretty, process, split, text, transformers, unix, Win32 [details]
License BSD-3-Clause
Author Edwin Brady
Maintainer Edwin Brady <eb@cs.st-andrews.ac.uk>
Category Compilers/Interpreters, Dependent Types
Home page http://www.idris-lang.org/
Source repo head: git clone git://github.com/edwinb/Idris-dev.git
Uploaded by EdwinBrady at Tue May 28 09:16:56 UTC 2013
Distributions Arch:1.3.2, Fedora:1.3.2, NixOS:1.3.2
Executables idris
Downloads 44101 total (1828 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-21 [all 7 reports]

Flags

NameDescriptionDefaultType
java

Build the Java RTS

DisabledAutomatic
noeffects

Do not build the effects package

DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees