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:

  • 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

  • Totality checking

  • Coinductive types

  • Indentation significant syntax, extensible syntax

  • Tactic based theorem proving (influenced by Coq)

  • Cumulative universes

  • Simple foreign function interface (to C)

  • Hugs style interactive environment

Flags

Manual Flags

NameDescriptionDefault
llvm

Build the LLVM backend

Disabled
ffi

Build support for libffi

Disabled
gmp

Use GMP for Integers

Disabled

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

Downloads

Versions [RSS] 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, 1.3.3, 1.3.4
Dependencies ansi-terminal, ansi-wl-pprint, base (>=4 && <5), 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 2013-12-02T23:43:01Z
Distributions Arch:1.3.4, Fedora:1.3.4, NixOS:1.3.4
Executables idris
Downloads 66465 total (149 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Successful builds reported [all 7 reports]