3[](https://travis-ci.org/idris-lang/Idris-dev)
4[](https://hackage.haskell.org/package/idris)
6Idris (http://idris-lang.org/) is a general-purpose functional programming
7language with dependent types.
9## Standard Installation Instructions
10This repository represents the latest development version of the language,
11and may contain bugs that are being actively worked on.
12For those who wish to use a more stable version of Idris please consider
13installing the latest version that has been released on Hackage.
14Installation instructions for various platforms can be [found on the Idris Wiki](https://github.com/idris-lang/Idris-dev/wiki/Installation-Instructions).
16## Installing Development Versions
18If you like to work against the latest development version, please consider
19using Cabal Sandboxes to minimise disruption to your local Haskell setup.
20Instructions for installing Idris HEAD within a cabal sandbox are
21[available on the Idris Wiki](https://github.com/idris-lang/Idris-dev/wiki/Installing-an-Idris-Development-version-in-a-sandbox).
23To configure, edit config.mk. The default values should work for most people.
25Idris is built using a Makefile common targets include:
27* `make` This will install everything using cabal and
28typecheck the libraries.
29* `make test` This target execute the test suite.
30* `make relib` This target will typecheck and recompile the standard library.
32Idris has an optional buildtime dependency on the C library `libffi`. If you
33would like to use the features that it enables, make sure that it is compiled
34for the same architecture as your Haskell compiler (e.g. 64 bit libraries
35for 64 bit ghc). By default, Idris builds without it. To build with it, pass
38To build with `libffi` by default, create a `custom.mk` file and add the
43The file custom.mk-alldeps is a suitable example.
45The continuous integration builds on travis-ci.org are built using the
46ghc-flag -Werror. To enable this behaviour locally also, please compile
47using `make CI=true` or adding the following line into `custom.mk`:
51If you are only compiling for installing the most current version, you can
52omit the CI flag, but please make sure you use it if you want to contribute.
56Idris has support for external code generators. Supplied with the distribution
57is a C code generator to compile executables, and a JavaScript code generator
58with support for node.js and browser JavaScript.
60At this moment in time there are two external repositories with a
61[Java code generator](https://github.com/idris-hackers/idris-java) and an
62[LLVM-based code generator](https://github.com/idris-hackers/idris-llvm).
66If you would like to find out more information, or ask questions, we
67currently have a [Wiki](https://github.com/idris-lang/Idris-dev/wiki);
68a [mailing list](https://groups.google.com/forum/#!forum/idris-lang),
69and an `IRC` channel `#idris` on freenode. To join the IRC channel,
70point your irc client to `chat.freenode.net` then `/join #idris`.
72For those further interested in using Idris for projects, the
73[Idris Hackers](https://github.com/idris-hackers) GitHub organisation is
74where some interesting projects are being hosted.
76For those interested in contributing to Idris directly we kindly ask that
77prospective developers please consult the [Contributing Guide](CONTRIBUTING.md) first.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list