A Dependently Typed Functional Programming Language
Go to file
2014-01-30 15:08:03 +00:00
benchmarks Change from shebangs with absolute references to using /usr/bin/env 2013-11-18 17:10:00 +00:00
contribs Add IPKG for SimpleParser 2014-01-25 18:13:37 +00:00
examples Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
iif Change TRACE mode to use -O2 2012-09-05 17:24:37 +01:00
jsrts javascript: optimize apply tailcalls 2014-01-29 22:15:24 +01:00
libs Merge remote-tracking branch 'upstream/master' into error-reflection 2014-01-28 17:13:40 +01:00
llvm Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
main Correct usage information 2014-01-26 13:13:55 +00:00
papers/impl-paper Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
rts Foreign pointer equality 2014-01-20 10:42:28 +00:00
samples Whitespace cleanup. 2013-11-01 14:33:45 +01:00
src Merge branch 'master' into error-reflection 2014-01-30 14:31:13 +01:00
support Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
test Run 'diff' on test failure 2014-01-30 15:08:03 +00:00
.gitattributes typo fix in git attributes, adding test results to gitignore 2012-11-26 21:09:59 -05:00
.gitignore Fix source locations for generated version number 2014-01-02 16:46:56 +01:00
.travis.yml (Temporarily) Remove haddock tests from travis 2013-12-11 21:15:56 +00:00
CHANGELOG CHANGELOG updates for pretty-printer 2014-01-30 10:45:40 +01:00
config.mk * Use cc as C compiler, instead of hardcoding gcc. 2013-11-19 16:14:55 +01:00
CONTRIBUTING.md Updates to contributing guidelines. 2014-01-22 12:10:23 +00:00
CONTRIBUTORS Updates to contributing guidelines. 2014-01-22 12:10:23 +00:00
custom.mk-alldeps Add example of custom.mk for building with both optional dependencies 2013-11-08 07:52:33 +01:00
idris-tutorial.pdf Tutorial changes. 2013-11-28 11:40:27 +00:00
idris.cabal Merge branch 'master' into error-reflection 2014-01-30 14:31:13 +01:00
LICENSE Fix LICENSE 2011-09-14 18:01:24 +01:00
Makefile Add 'without' command to test script 2014-01-30 14:41:34 +00:00
README Add note about custom.mk example 2013-11-08 08:00:02 +01:00
Setup.hs Add DragonFly to config.mk 2014-01-05 16:41:37 +00:00

Idris (http://idris-lang.org/) is an experimental functional programming 
language with dependent types.

To configure, edit config.mk. 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 optional buildtime dependencies on the C libraries llvm-3.3 and libffi. If you would like to use the features that these enable, be sure these are compiled for the same architecture as your Haskell compiler (e.g. 64 bit libraries for 64 bit ghc). By default, Idris builds without them. To build with them, pass the flags -f LLVM and -f FFI, respectively.

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

Idris has a runtime dependency on libgmp, and on Boehm GC (libgc) when using the LLVM codegen. These are needed for linking into compiled programs, so be sure these are compiled for Idris's default target architecture (usually 64 bit on x86_64 systems).

The Idris wiki contains instructions for building on various platforms and for getting involved with development. It is located at https://github.com/idris-lang/Idris-dev/wiki .