This repository is a static browser playground for the Multilingual Programming Language. It is intentionally small: one HTML entry point, static assets, and a lightweight release check script.
- Read
README.md. - Keep this repo aligned with the current target
multilingualprogrammingversion. - Prefer small, reviewable changes over broad rewrites.
index.html: page shell and static markupassets/playground.css: site stylingassets/main.js,assets/editor.js,assets/runtime.js,assets/ui.js,assets/theme.js,assets/i18n.js,assets/examples.js: runtime logic, examples, and UI behaviortools/check_release.py: release validationtools/check_examples.py: example executability validation
- Preserve the browser-only deployment model. Do not introduce a server dependency unless explicitly intended.
- Keep language options and examples aligned. If you add or remove a supported language, update both the selector in
index.htmland the example maps inassets/examples.js. - Keep metadata coherent. If copy or publish URLs change, review
sitemap.xml,robots.txt, andsite.webmanifest. - Prefer ASCII in comments and UI chrome unless non-ASCII text is user content, a language example, or a real requirement.
Run this before opening a release-oriented change:
python tools/check_release.py --expected-date YYYY-MM-DDAlso do a manual browser pass on:
- language switching
- example switching
- run / clear / share actions
- Python, WAT / WASM, and Rust tabs
- theme toggle
- keyboard navigation
- mobile or narrow-screen layout
- Update
CHANGELOG.mdfor user-visible or maintenance-significant changes. - Use
RELEASE.mdwhen preparing a release summary or publish checklist.
Include:
- what changed
- why it changed
- how you validated it
- whether metadata or release docs were updated