@hackage idris0.9.17.1
Functional Programming Language with Dependent Types
Categories
License
BSD-3-Clause
Maintainer
Edwin Brady <eb@cs.st-andrews.ac.uk>
Links
Versions
Installation
CustomDependencies (41)
- Win32 <2.4
- annotated-wl-pprint >=0.5.3 && <0.6
- ansi-terminal <0.7
- ansi-wl-pprint <0.7
- base >=4 && <5
- base64-bytestring <1.1 Show all…
Dependents (1)
@hackage/acme-everything
Package Flags
ffi
(off by default)
Build support for libffi
gmp
(off by default)
Use GMP for Integers
curses
(off by default)
Use Curses to get the screen width
release
(on by default)
This is an official release
freestanding
(off by default)
Build an Idris that doesn't use cabal
ci
(off by default)
Built everything using "-Werror", meant for CI-builds only
execonly
(off by default)
Build executables only, skip the libraries and RTS
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