A Dependently Typed Functional Programming Language
Go to file
Edwin Brady ddf9779f87 Fix borrowed type check
Actually a borrowed type can be used as many times as you like, it's
just the names inside the pattern that can't be used without being lent
first!
2014-08-22 00:12:58 +01:00
benchmarks Add fasta benchmark to benchmarks/ALL 2014-04-19 20:38:33 +02:00
codegen/idris-c Added idris-c executable 2014-08-07 15:06:17 +01:00
contribs Updated idrislang.sty to ensure singlespacing code blocks 2014-06-06 10:31:58 +01:00
examples Remove example directory 2014-04-10 14:09:26 +01:00
idrisdoc Updated signatures to use Conor colours, increased difference between links and non-links, and fixed a wrap issue in Safari and Chrome 2014-04-17 01:30:02 +02:00
iif Change TRACE mode to use -O2 2012-09-05 17:24:37 +01:00
jsrts javascript: display unsupported instruction as comments 2014-06-28 02:19:35 +02:00
libs Add Borrowed types 2014-08-21 22:38:58 +01:00
llvm Merge branch 'gc-header-fix' of https://github.com/JasonGross/Idris-dev into JasonGross-gc-header-fix 2014-07-16 00:09:47 +02:00
main Added idris-c executable 2014-08-07 15:06:17 +01:00
man Added nominal man-page. 2014-08-06 12:02:47 +01:00
papers/impl-paper Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
rts Add Borrowed types 2014-08-21 22:38:58 +01:00
samples New syntax for documentation comments 2014-03-03 00:05:09 +01:00
src Fix borrowed type check 2014-08-22 00:12:58 +01:00
support Fix .PHONY targets in Makefiles 2014-01-11 13:13:08 +01:00
test Fix borrowed type check 2014-08-22 00:12:58 +01:00
.gitattributes typo fix in git attributes, adding test results to gitignore 2012-11-26 21:09:59 -05:00
.gitignore Update .gitignore for new tests structure 2014-02-01 12:46:57 +01:00
.travis.yml Add a Travis target for make lib_doc 2014-08-05 09:48:47 +02:00
CHANGELOG More efficiency improvements 2014-08-06 18:25:01 +01:00
config.mk Merge https://github.com/idris-lang/Idris-dev 2014-06-08 22:29:50 -05:00
CONTRIBUTING.md Updates to contributing guidelines. 2014-01-22 12:10:23 +00:00
CONTRIBUTORS Adding Alyssa Carter to CONTRIBUTORS 2014-07-24 13:00:29 -07:00
custom.mk-alldeps Automatically detect console width 2014-02-02 19:04:46 +01:00
idris-tutorial.pdf Tutorial changes. 2013-11-28 11:40:27 +00:00
idris.cabal Add Borrowed types 2014-08-21 22:38:58 +01:00
LICENSE Fix LICENSE 2011-09-14 18:01:24 +01:00
Makefile Fixed makefile spacing issues 2014-06-12 17:50:04 +01:00
mkpkg.sh Update version number to 0.9.11 2014-02-04 16:07:00 +00:00
README changed the first sentence of the readme 2014-04-01 00:33:06 +00:00
Setup.hs Support builds that doesn't use cabal for libs and rts 2014-06-24 01:05:13 +02:00

Idris (http://idris-lang.org/) is a general-purpose 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 .