Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Dependently Typed Functional Programming Language
Haskell Idris C JavaScript Shell TeX Other
Pull request Compare This branch is 1712 commits behind idris-lang:master.
Failed to load latest commit information.
benchmarks Removed '_|_' as a built in declaration and renamed it to 'Void',
codegen javascript: lift out node backend
contribs Several updates to idrislang.sty
examples Remove example directory
idrisdoc Updated signatures to use Conor colours, increased difference between…
iif Change TRACE mode to use -O2
jsrts javascript: fix for #1580
libs Move Pair/Sigma into Builtins namespace
main Call gcc using rawSystem
man Fix typo in help message (language extension)
rts Fix GC statistics overflow
samples Finished making standard library naming consistent
src Support for inductive-inductive types
test Move Pair/Sigma into Builtins namespace
.gitattributes typo fix in git attributes, adding test results to gitignore
.gitignore Merge pull request #1704 from eamsden/master
.travis.yml Don't build Idris twice in CI
CHANGELOG Support for inductive-inductive types Updated
Makefile Fixed makefile spacing issues Fix a few typos in the README
Setup.hs Factor out LLVM backend Add -DIDRIS_ENABLE_STATS to CodegenC. Add missing #ifdef IDRIS_ENABLE… Automatically detect console width
idris-tutorial.pdf Tutorial changes.
idris.cabal Improve delaboration and pretty-printing for case Update version number to 0.9.11


Build Status Hackage

Idris ( is a general-purpose functional programming language with dependent types.

To configure, edit The default values should work for most people.

To install, type 'make'. This will install everything using cabal and typecheck the libraries.

To run the tests, type 'make test' which will execute the test suite, and 'make relib', which will typecheck and recompile the standard library.

Idris has an optional buildtime dependency on the C library libffi. If you would like to use the features that it enables, make sure that it is compiled for the same architecture as your Haskell compiler (e.g. 64 bit libraries for 64 bit ghc). By default, Idris builds without it. To build with it, pass the flag -f FFI.

To build with libffi by default, create or add the following line to it: CABALFLAGS += -f FFI The file is a suitable example.

The Idris wiki contains instructions for building on various platforms and for getting involved with development. It is located at

Idris has support for external code generators. Supplied with the distribution is a C code generator to compile executables, and a JavaScript code generator with support for node.js and browser JavaScript.

At the point of this writing, there are external repositories with a Java code generator and an LLVM-based code generator which can be found at and respectively.

Something went wrong with that request. Please try again.