A purely functional programming language with first class types
Go to file
troiganto e0b9a027e7 fix(base): runtime-erase implicit length argument to Vect's dropElem.
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`.
2024-06-05 15:42:48 +01:00
.github Use overwrite install to fix glib installation (#3237) 2024-03-16 16:56:57 -05:00
benchmark [ refactor ] Remove Data.Strings module (#1607) 2021-06-28 13:48:37 +01:00
bootstrap [ rc ] 0.7.0-rc2 2023-12-22 14:44:30 +01:00
docs fix: typos in "Named Implementations" (#3296) 2024-06-05 12:03:47 +01:00
icons Add icons 2020-05-20 18:48:55 +01:00
ipkg [ refactor ] S-Exp protocols to depend on fewer Idris modules (#3060) 2023-08-31 11:53:14 +01:00
libs fix(base): runtime-erase implicit length argument to Vect's dropElem. 2024-06-05 15:42:48 +01:00
lint Lint utility 2021-01-16 10:00:03 +00:00
nix fix macos-nix build where refc support files don't build under default environment anymore (#3246) 2024-04-01 20:09:38 -05:00
Release Add a new CHANGELOG_NEXT.md file and update documentation around CHANGELOG entries. (#3180) 2024-01-01 21:08:56 -06:00
samples [ fix #1959 ] use modern record update syntax (#2196) 2021-12-16 18:23:18 +00:00
src [ fix ] Fix Show of TTImp for functions with with clauses (#2631) 2024-06-05 14:02:04 +01:00
support [ fix ] fix windows CI, aligned_alloc not supported on win32 2024-05-17 14:44:48 -07:00
tests [ fix ] Fix Show of TTImp for functions with with clauses (#2631) 2024-06-05 14:02:04 +01:00
www [ fix ] missing modules in .ipkg files (#3124) 2023-10-27 20:37:00 +01:00
.editorconfig [ install ] Check if 'realpath' exists for Chez and Racket backends (#1210) 2021-04-06 15:42:04 +01:00
.gitattributes Mark bootstrap code as generated 2021-06-30 22:11:54 +01:00
.gitignore [ test ] Set IDRIS2_PREFIX to a local dir when testing 2023-10-04 14:34:03 +01:00
.readthedocs.yaml [ docs ] fix build by adding config file 2023-11-23 17:46:45 +00:00
bootstrap-stage1-chez.sh Separate support derivation (and small related tweaks to the Makefile) (#3172) 2023-12-27 08:14:03 -06:00
bootstrap-stage1-racket.sh Write files into bootstrap-build directory during bootstrap 2021-07-04 03:17:13 +01:00
bootstrap-stage2.sh Separate support derivation (and small related tweaks to the Makefile) (#3172) 2023-12-27 08:14:03 -06:00
CHANGELOG_NEXT.md fix(base): runtime-erase implicit length argument to Vect's dropElem. 2024-06-05 15:42:48 +01:00
CHANGELOG.md Add a new CHANGELOG_NEXT.md file and update documentation around CHANGELOG entries. (#3180) 2024-01-01 21:08:56 -06:00
config.mk [ fix ] Use HOMEBREW_PREFIX instead of /opt/homebrew 2024-04-27 14:51:25 -07:00
CONTRIBUTING.md Add a new CHANGELOG_NEXT.md file and update documentation around CHANGELOG entries. (#3180) 2024-01-01 21:08:56 -06:00
CONTRIBUTORS refactor(base): move implementation of Data.Vect.nubBy to global scope 2024-06-05 13:53:57 +01:00
default.nix [ ci ] Simplify bootstrap process in nix (#2731) 2022-10-28 19:29:30 +01:00
flake.lock prefer chez scheme 10+ over racket fork (#3233) 2024-03-21 13:30:09 -05:00
flake.nix prefer chez scheme 10+ over racket fork (#3233) 2024-03-21 13:30:09 -05:00
idris2.ipkg [ cleanup ] --timing levels 2022-04-13 14:37:43 +01:00
idris2api.ipkg [ cleanup ] Post v0.7.0 cleanup 2023-12-25 13:49:26 +00:00
INSTALL.md Doc: Use executable command for opening lib docs 2024-06-05 12:05:01 +01:00
LICENSE Add licence and changelog and update REAMDE 2020-05-20 11:31:48 +01:00
Makefile [ fix ] propagate LDFLAGS and CPPFLAGS to test makefile 2024-04-27 14:40:07 -07:00
README.md wording 2023-11-13 11:42:27 +00:00

Idris 2

Documentation Status Build Status

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

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.