mpl/js
2026-07-09 23:58:35 -04:00
..
test Enforce boolean conditions, binding discipline, depth limit 2026-07-09 23:31:45 -04:00
mpl.js Implement composition; forall value; parse-only evaluation 2026-07-09 23:58:35 -04:00
README.md Add browser interpreter 2026-07-09 18:13:04 -04:00

js/mpl.js — the browser interpreter

mpl.js is the M0-core interpreter that runs at mpl.codes. This file is the deployed artifact: the copy in this repo, the copy baked into the site image, and the file served at https://mpl.codes/js/mpl.js are byte-identical (same sha256).

The site repo (developtheweb/mpl_codes) does not carry its own copy; its image build fetches this file pinned to an exact commit SHA and verifies it against a pinned sha256 checksum. A mismatch fails the site build.

Rules for changing this file:

  • Never edit it in a commit that does not also state the behavioral change in DECISIONS.md.
  • Keep it dependency-free and transformation-free — no build step may minify it, wrap it, or inject banners, because that would break byte identity with the deployed file.
  • Run node --test "js/test/*.test.mjs" before committing; CI runs the same suite.