Repository navigation
Eliscript 0.0.1
Eliscript 0.0.1
Eliscript is an Emacs Lisp-flavored language that compiles to modern
ECMAScript modules. The compiler is self-hosted: an Emacs Lisp seed compiles the
compiler that is written in Eliscript, and both generations produce byte-identical
output.
Install
npm install eliscript
npx eliscript --helpThe tarball carries the generated compiler, so a consumer needs no Emacs.
Building the compiler from source does need Emacs; prepack runs that build, so
a published tarball is always derived from the sources it ships.
What is in this release
- Compiler — Emacs Lisp seed, self-hosted compiler, deterministic formatter,
versioned canonical IR, project graph planning with an incremental cache, and
Source Maps that name.elifiles. - Language — Lisp-shaped syntax with tail calls, macros, modules, protocols,
immutable Records,deftype/reifyprotocol values,case/condp
dispatch, and multi-arity named, anonymous, async, and portable functions. - Data — persistent List, Vector, Map, Set, and Queue with value equality,
transients, lazy sequences, and transducers. - Runtime — host-free runtime semantics, frozen regular-expression
patterns, and a long-lived Emacs-to-JavaScript worker. - Browser — an in-memory multi-file compile host, a module worker, and a
compiler bundled for the browser. The
playground compiles and
runs Eliscript in the page; the documentation site's own behaviours are
Eliscript compiled in the browser. - Emacs integration —
eliscript-modewith Flymake diagnostics and
eliscript-repl. - Command line —
eliscript,eliscript-build,eliscript-check,
eliscript-format,eliscript-eval,eliscript-org,eliscript-portable,
eliscript-seed,eliscript-seed-build, andeliscript-watch. - dogfood — the static-site application under
examples/dogfood/, and the
packaged Action built from it.
Evidence
- Retained core acceptance: 35 of 35 mandatory criteria pass, 0 incomplete, 0
failed, all five evidence groups complete, and no blocking defects. - This revision: 457 tests across 115 files in the core suite, 210 across 23
files in the application suite, and a browser matrix that drives Chromium,
Firefox, and WebKit at three viewports each. - The published site is generated by the repository's own tooling and served
from https://liuchong.org/eliscript/.
Known gaps
- The Linux x64 compatibility cells are optional in the contract and carry no
retained reports; macOS arm64 is the required acceptance platform. - The proving-ground specifications are marked
In progress: the application is
exercised by its tests and published, and its own acceptance set is not
complete. - The
dogfoodAction is distributed as a standalone package; its Marketplace
listing is a separate publication step.
License
GPL-3.0-or-later. The compiler and standard library sources ship with the
generated output they produce, which is the preferred form for modification.