elysia-lang.org
The Elysia Programming Language
A pure functional language with uniqueness types, effects, and deterministic parallelism. Currently under development.
Elysia is a general-purpose programming language currently under development. It is a pure, strictly evaluated functional language with uniqueness types, a static effect system, and deterministic parallelism, and provides first-class tensor computation targeting CPU and GPU backends.
- Name
- Elysia
- Paradigm
- Pure, strict, functional
- Extension
.ely- Status
- Specification v0.21.1, in development
- Website
- elysia-lang.org
- Repository
- github.com/elysia-lang
- License
- To be announced at v1.0
Features
- Pure functional semantics with strict evaluation
- Uniqueness types
- Static effect system
- Deterministic parallelism
- First-class tensor computation, with CPU and GPU backends
Status
The language specification is at revision v0.21.1 and is being developed privately. The specification and a reference implementation, written in Haskell, will be published when the design reaches v1.0. No release date is announced.
Specification fingerprints
As each revision of the specification is frozen, the SHA-256 fingerprints of its normative documents are recorded here. The frozen documents will be released when the specification is published, at which point these fingerprints can be verified independently. Each document is timestamped individually; its SHA-256 checksum file and OpenTimestamps proof are linked alongside. Timestamp proofs are anchored in the Bitcoin blockchain via OpenTimestamps; attestation dates are those of stamping.
| Revision | Frozen | Document | SHA-256 | Proofs |
|---|---|---|---|---|
| v0.16.0 | 2026-06-12 | elysia_language_spec_complete_en_v0_16_0.md | 18c999bd88bc8634daa8a644c14d39925047eacec980a7cc3f9600bdbcda5f54 | .sha256 .ots |
| v0.17.0 | 2026-07-06 | elysia_language_spec_part1_core_en_v0_17_0.md | 588a38de3fcdd6b209633a3e5a929e0aad367eb1252743aa4bdf7b2d57c0d408 | .sha256 .ots |
| v0.17.0 | 2026-07-06 | elysia_language_spec_part2_systems_en_v0_17_0.md | 129cf1454b766d50d7778a504b05b5b8ae3f729ef85e8f7be87532354eb2d095 | .sha256 .ots |
| v0.19.0 | 2026-07-11 | elysia_language_spec_part1_core_en_v0_19_0.md | a44ec78dc03f31db222e2b7dc520d8b14e852c41507dc9c764346320d49ac492 | .sha256 .ots |
| v0.19.0 | 2026-07-11 | elysia_language_spec_part2_systems_en_v0_19_0.md | b2c7c55c2f8fe65dd959acd05223a1daa79da65e3610e981adae571eb4d92656 | .sha256 .ots |
| v0.20.0 | 2026-07-12 | elysia_language_spec_part1_core_en_v0_20_0.md | 642f28b9b5547d84f925657d7cbb826034182e353ffc24f07c6373f77b5f1177 | .sha256 .ots |
| v0.20.0 | 2026-07-12 | elysia_language_spec_part2_systems_en_v0_20_0.md | c33e091802d37190cf27b16f75582b91960dcaf4371ee5e46f1644bd898f76a2 | .sha256 .ots |
| v0.21.0 | 2026-07-31 | elysia_language_spec_part1_core_en_v0_21_0.md | 26239a073abdab55a0f1380e63e47781a070fd1677a909ab50b060151d889bff | .sha256 .ots |
| v0.21.0 | 2026-07-31 | elysia_language_spec_part2_systems_en_v0_21_0.md | 234dd8d6927bcffc222ac54c36dec797367c9051be5ef525ebfb285331e29031 | .sha256 .ots |
| v0.21.1 | 2026-08-01 | elysia_language_spec_part1_core_en_v0_21_1.md | 2852e91f97d510aaf3a3c218ff8a4fe48ba47ae85a47fb0e9fa93479649246d6 | .sha256 .ots |
| v0.21.1 | 2026-08-01 | elysia_language_spec_part2_systems_en_v0_21_1.md | f40f78b8c9e5ee6ba1f5ece7ccad1683ac760248ed1d1264cf356142efc81c49 | .sha256 .ots |
This ledger is append-only: a row, once published, is never edited or removed.
Naming
The name of the language is Elysia. The full, formal name is the Elysia Programming Language. Where the short name alone could be ambiguous, we write elysia-lang — which is also the name of the GitHub organization and the domain of this site. Elysia source files use the .ely extension, and packages released by this project carry the elysia-lang- prefix.
Elysia is unrelated to ElysiaJS, the web framework for Bun.
Contact
A contact address for the project will be published here. Until then, the GitHub organization is the project’s public point of presence.