3[](https://travis-ci.org/idris-lang/Idris-dev)
4[](https://readthedocs.org/projects/idris/?badge=latest)
5[](https://hackage.haskell.org/package/idris)
7Idris (http://idris-lang.org/) is a general-purpose functional programming
8language with dependent types.
10## Standard Installation Instructions
11This repository represents the latest development version of the language,
12and may contain bugs that are being actively worked on.
13For those who wish to use a more stable version of Idris please consider
14installing the latest version that has been released on Hackage.
15Installation instructions for various platforms can be [found on the Idris Wiki](https://github.com/idris-lang/Idris-dev/wiki/Installation-Instructions).
17## Installing Development Versions
19If you like to work against the latest development version, please consider
20using Cabal Sandboxes to minimise disruption to your local Haskell setup.
21Instructions for installing Idris HEAD within a cabal sandbox are
22[available on the Idris Wiki](https://github.com/idris-lang/Idris-dev/wiki/Installing-an-Idris-Development-version-in-a-sandbox).
24To configure, edit config.mk. The default values should work for most people.
26Idris is built using a Makefile common targets include:
28* `make` This will install everything using cabal and
29typecheck the libraries.
30* `make test` This target execute the test suite.
31* `make relib` This target will typecheck and recompile the standard library.
33Idris has an optional buildtime dependency on the C library `libffi`. If you
34would like to use the features that it enables, make sure that it is compiled
35for the same architecture as your Haskell compiler (e.g. 64 bit libraries
36for 64 bit ghc). By default, Idris builds without it. To build with it, pass
39To build with `libffi` by default, create a `custom.mk` file and add the
44The file custom.mk-alldeps is a suitable example.
46The continuous integration builds on travis-ci.org are built using the
47ghc-flag -Werror. To enable this behaviour locally also, please compile
48using `make CI=true` or adding the following line into `custom.mk`:
52If you are only compiling for installing the most current version, you can
53omit the CI flag, but please make sure you use it if you want to contribute.
57Idris has support for external code generators. Supplied with the distribution
58is a C code generator to compile executables, and a JavaScript code generator
59with support for node.js and browser JavaScript.
61At this moment in time there are two external repositories with a
62[Java code generator](https://github.com/idris-hackers/idris-java) and an
63[LLVM-based code generator](https://github.com/idris-hackers/idris-llvm).
67If you would like to find out more information, or ask questions, we
68currently have a [Wiki](https://github.com/idris-lang/Idris-dev/wiki);
69a [mailing list](https://groups.google.com/forum/#!forum/idris-lang),
70and an `IRC` channel `#idris` on freenode. To join the IRC channel,
71point your irc client to `chat.freenode.net` then `/join #idris`.
73For those further interested in using Idris for projects, the
74[Idris Hackers](https://github.com/idris-hackers) GitHub organisation is
75where some interesting projects are being hosted.
77For those interested in contributing to Idris directly we kindly ask that
78prospective 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