A Dependently Typed Functional Programming Language
Haskell Idris C JavaScript Shell C++ Other
Latest commit ebf9367 Mar 1, 2017 @edwinb edwinb Make partial evaluator off by default
It can get very slow with deep type classes and large functions, for
example, so best to turn it on when you need it. The library is still
built with it so there are partially evaluated versions of methods with
prelude types, and associated transforms available.
Failed to load latest commit information.
benchmarks Fix deprecation warnings in benchmarks Sep 1, 2016
codegen Alphabetize and indent imports and LANGUAGE pragmas Oct 1, 2016
docs change <= to < in text to match code block Jan 22, 2017
icons Add the idris icon to the windows build Jan 24, 2016
idrisdoc Updated signatures to use Conor colours, increased difference between… Apr 16, 2014
jsrts Use synchronous writes in node runtime. Sep 7, 2016
libs Make partial evaluator off by default Mar 1, 2017
logos Added SVG logos Jun 22, 2015
main Fixed unstylized things in Idris and stylize.sh script Jan 16, 2017
man Improved User facing progress reporting. Dec 13, 2016
rts Fix encoding issue on Windows corresponded with `fopen`, `popen` and … Jan 31, 2017
samples Remove deprecated calls to return Sep 29, 2016
scripts Move script from /bin to /scripts Aug 7, 2016
src Make partial evaluator off by default Mar 1, 2017
test Deal with interfaces in totality differently Feb 21, 2017
.gitattributes typo fix in git attributes, adding test results to gitignore Nov 27, 2012
.gitignore Port the test infrastructure to Tasty Jul 27, 2016
.stylish-haskell.yaml Convert tabs to spaces in stylish Oct 13, 2016
.travis.yml Made stack and GHC versions flexible Jan 16, 2017
CHANGELOG.md Run Idris in a UTF-8-compatible codepage on Windows Feb 11, 2017
CITATION.md Added a citation file. Feb 26, 2015
CONTRIBUTING.md Removed reference to now deprecated dragon egg process Jun 19, 2016
CONTRIBUTORS Add myself to `CONTRIBUTORS`, as requested. Jan 16, 2017
HLint.hs Turn on some LANGUAGE pragmas to make stylish-haskell happy. Oct 13, 2016
INSTALL.md Update INSTALL with better path for libFFI Jul 31, 2016
LICENSE Fix LICENSE Sep 14, 2011
Makefile Fix typo, make stylize.sh work when a dist directory exists Oct 19, 2016
README.md Add IRC badge for #idris channel (#3433) Sep 18, 2016
RELEASE-CHECKS.md Addresses #1235 Add release checklist. Apr 26, 2016
Setup.hs Fix build system dir inconsistencies. Sep 29, 2016
appveyor.yml Use GHC 7.10.3 instead Aug 10, 2016
config.mk Fix the build on MSYS2 (Windows) when MSYSTEM=MINGW{32,64} Jan 30, 2017
custom.mk-alldeps Remove curses dependency Mar 3, 2016
idris-tutorial.pdf Updated document versions to 0.11 and updated tutorial pdf. Mar 26, 2016
idris.cabal Run Idris in a UTF-8-compatible codepage on Windows Feb 11, 2017
mkpkg.sh Fix interpreter paths for NixOS by using /usr/bin/env Jan 29, 2017
stack-shell.nix Bump to latest LTS Haskell 7.14. Dec 21, 2016
stack.yaml Bump to latest LTS Haskell 7.14. Dec 21, 2016
stylize.sh Fix interpreter paths for NixOS by using /usr/bin/env Jan 29, 2017
win-release.sh Implement bundled toolchain feature Apr 2, 2015



Build Status Appveyor build Documentation Status Hackage Stackage LTS Stackage Nightly IRC

Idris (http://idris-lang.org/) is a general-purpose functional programming language with dependent types.

Installation Guides.

This repository represents the latest development version of the language, and may contain bugs that are being actively worked on. For those who wish to use a more stable version of Idris please consider installing the latest version that has been released on Hackage. Installation instructions for various platforms can be found on the Idris Wiki.

More information about building Idris from source has been detailed in the Installation Guide

Code Generation

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 this moment in time there are two external repositories with a Java code generator and an LLVM-based code generator.

More Information

If you would like to find out more information, or ask questions, we currently have a Wiki; a mailing list, and an IRC channel #idris on freenode. To join the IRC channel, point your irc client to chat.freenode.net then /join #idris.

For those further interested in using Idris for projects, the Idris Hackers GitHub organisation is where some interesting projects are being hosted.

For those interested in contributing to Idris directly we kindly ask that prospective developers please consult the Contributing Guide first.