mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-09-11 13:36:08 +03:00
A purely functional programming language with first class types
This makes it possible to call the function in more situations. It also brings its signature in line with the overloads on `List`, `List1` and `SnocList`. The previous implementation of `Data.Vect.Elem.dropElem` required the length of the `Vect` to be available at runtime. This was used in order to recurse in the case that the `Elem` is not `Here`. However, it turns out that this is not actually necessary. Idris can deduce that the tail must be non-empty if it contains an `Elem`. |
||
---|---|---|
.github | ||
benchmark | ||
bootstrap | ||
docs | ||
icons | ||
ipkg | ||
libs | ||
lint | ||
nix | ||
Release | ||
samples | ||
src | ||
support | ||
tests | ||
www | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.readthedocs.yaml | ||
bootstrap-stage1-chez.sh | ||
bootstrap-stage1-racket.sh | ||
bootstrap-stage2.sh | ||
CHANGELOG_NEXT.md | ||
CHANGELOG.md | ||
config.mk | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
idris2.ipkg | ||
idris2api.ipkg | ||
INSTALL.md | ||
LICENSE | ||
Makefile | ||
README.md |
Idris 2
Idris 2 is a purely functional programming language with first class types.
For installation instructions, see INSTALL.md.
The wiki lists a number of useful resources, in particular
- What's changed since Idris 1
- Resources for learning Idris, including official talks that showcase its capabilities
- Editor support
Things still missing
- Cumulativity (currently
Type : Type
. Bear that in mind when you think you've proved something) rewrite
doesn't yet work on dependent types
Contributions wanted
If you want to learn more about Idris, contributing to the compiler could be one way to do so. The contribution guidelines outline the process. Having read that, choose a good first issue or have a look at the contributions wanted for something more involved. This map should help you find your way around the source code. See the wiki page for more details.