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
Dependencies ansi-terminal, ansi-wl-pprint, base (==4.*), binary, bytestring, Cabal, containers, deepseq, directory (>=1.2), filepath, haskeline (>=0.7), language-java (>=0.2.6), mtl, network, parsers (==0.9), pretty, process, split, text, time (>=1.4), transformers, trifecta (==1.1), unix, unordered-containers, utf8-string, vector, vector-binary-instances, Win32, xml [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/idris-lang/Idris-dev.git
Uploaded by EdwinBrady at Mon Dec 2 23:43:01 UTC 2013
Distributions Arch:1.3.1, Fedora:1.3.1, NixOS:1.3.1
Executables idris
Downloads 37824 total (748 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Successful builds reported [all 7 reports]

Flags

NameDescriptionDefaultType
llvm

Build the LLVM backend

DisabledManual
ffi

Build support for libffi

DisabledManual
gmp

Use GMP for Integers

DisabledManual

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