Measured ports

Same work. Count the bytes.

These are libraries and apps we rewrote in LilScript to see what the compiler actually does. Numbers are Brotli-11 of the selected JavaScript, scored with the same stock zlib / official Brotli binaries. Typical complete ports sit around 5–10% smaller. The cards also show the larger cuts and the rows that have not moved, or have moved the wrong way.

Monaco · VS Code’s editor

monaco-editor 0.56, JavaScript versus LilScript.

The JS page is npm monaco-editor. The Lil page is compiled from ports/monaco/entry.lil plus 992 catalog modules. Workers except TypeScript are LilScript; both pages still load Microsoft ts.worker so diagnostics match. The view is a functioning editor — create, type, undo, find, fold, hover, suggest — not a claim that every VS Code workbench feature is present.

npm ide.js 887,420 B
Lil ide.js 413,607 B
JS + workers, no tsc 1,416,410 B
Lil + workers, no tsc 415,045 B

Frameworks and apps

Runnable products, with a scope line on each card.

Complete and exact entrypoints

Published roots, same input domain.

Eligible rows beat npm/Vite and public-API Closure ADVANCED on the selected codec, and stay within 1.05× on the isolated runtime gate.

Selected surfaces

Not the whole package. Still a real rewrite.

These rows implement a declared subset. They are useful pressure tests. They are not “we replaced Preact.”

Published · not smaller

jQuery 3.7.1 is published. It is not smaller yet.

The public-library row is a pressure test: host-heavy, string keys, a plugin facade. Behavior lanes for core, deferred, data, events, selectors, ajax, and effects are in the repo. The current Brotli-oriented compiler output is larger than npm jquery.min.js. That is stated here so the other cards stay honest.

Parse API

marked 18.0.10, scored without the extension system.

The parse API, GFM and CommonMark HTML, 660/660 against marked@18.0.10. This port has no use(). Official JavaScript is the parse-only 18.0.10 sources, then Oxc and Terser, mangling on and off. The published LilScript artifact is the compiler-selected ESM — not bundled, not post-minified, and still smaller on raw, gzip-9, and Brotli-11 than either minifier, while parsing the same corpus faster in Chromium.

Open the pairs

Left is the original. Right is the compile.

These are the hosted comparisons. When this site is on GitHub Pages, they are the github.io URLs.

More tables. Filterable corpus: library lab, benchmarks, explorer. Delivery architecture: Lilpack. Language: syntax and behavior.