mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-11-23 06:04:48 +03:00
A purely functional programming language with first class types
f016dad5cd
* [RefC] shrink value_header; object imortalized; stock well knwon values. * Shrink Value_Header to improve utilization of memory. * When refCounter reaches its maximum, the object is immortalized to avoid overflow. This immotalization is also used to represent statically allocated stock objects. * Prepare some commonly seen values and share it to improve memory usage. * Added debug code to dump memory stats. * [RefC] Allocated constants statically; Predefined commonly seen values. * Commonly seen values such as integers less than 100 are predefined and shared. * Constant String, Int64, Bits64 and Double values are allocated statically as indestructible and shared. * linter * [RefC] make constants const. * cleanup * cleanup * update CHANGELOG_NEXT * [refc][test] revert debugging code * Refactor constantName function in RefC.idr Refactor constantName function to return Core String type and handle unsupported types by throwing InternalError exception. * lint * fix typo in support/refc/memoryManagement.c Co-authored-by: Mathew Polzin <matt.polzin@gmail.com> * [RefC] erase runtime error of constantName * [RefC] Fixed the missing case expression coverage. --------- Co-authored-by: Mathew Polzin <matt.polzin@gmail.com> |
||
---|---|---|
.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.