idris: Dependently Typed Functional Programming Language
Idris is an experimental language with full dependent types. 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.cs.st-andrews.ac.uk/~eb/Idris/tutorial.html.
The aims of the project are:
To provide a platform for realistic programming with dependent types. By realistic, we mean the ability to interact with the outside world and use primitive types and operations. This includes networking, file handling, concurrency, etc.
To show that full dependent types do not mean we have to abandon the functional style we have come to know and love with languages like Haskell and OCaml. We aim to show that lightweight dependently typed programming means allowing the programmer full access to values in types, and letting the type checker do the hard work so you don't have to!
The Darcs repository can be found at http://www-fp.cs.st-andrews.ac.uk/~eb/darcs/Idris.
Modules
- Idris
- Idris.AbsSyntax
- Idris.Compiler
- Idris.ConTrans
- Idris.Context
- Idris.Fontlock
- Idris.LambdaLift
- Idris.Latex
- Idris.Lexer
- Idris.Lib
- Idris.MakeTerm
- Idris.PMComp
- Idris.Parser
- Idris.Prover
- Idris.RunIO
- Idris.SCTrans
- Idris.Serialise
- Idris.SimpleCase
Downloads
- idris-0.1.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates