One folder per language, and a table of languages
Each language's parser, compiler, runtime and native tier now live under src/lang/, a language is one entry of a table, docs/LANGUAGES.md describes how a language plugs into the shared VM, and the documentation moves under docs/.
JavaScript's parser and compiler sat at the top of src/, and Python was spread across frontend/python, vm/py_*.rs, codegen/ and vm/engine/. da8427b6 gathers each language under src/lang/: lang/js/ holds the parser, the compiler and the front end, and lang/python/ the frontend, its runtime and bundled library, its VM side and its native tier. Only files moved. Every module kept its name and its place in the module tree, so no item, symbol or visibility changed; f89d51b8 fixed the one path the torch package's build still spelled the old way, and 06164d14 moved the Python parser crate under lang/python/parser/, still a crate of its own.
3c39f3a8 makes a language one entry of a table. A Language has its names, file extensions, shebang commands, a single-file compile and its bytecode dump, and detection, --lang and the compile dispatch all go through languages(), the base language first. docs/LANGUAGES.md describes the model it serves: the base instruction set is JavaScript's, a language emits its own instructions where its semantics differ (Python's Instr::Py*) and the base ones where they agree, and the document lists the steps for adding a language and the rules every language keeps. The same day the root's working documents moved under docs/, with an index and an archive of the dated records (9f6dd66b), and 425 old benchmark captures became rows of CSV files in bench/history/ (6c2bf933).