fjs/wasm/runtime is the runtime of the WASM execution mode of FunctionalScript: the layers a compiled program calls across the WASM module boundary, as the design notes in doc/sasha-gil/wasm lay them out. The interpreter and the Rust backend do not use it, and fjs/js/runtime stays as it is.
| Layer | What it holds | Imported by |
|---|---|---|
l0 | the FunctionalScript view of the L0 core, with JavaScript bodies | l1, its one importer |
l1 | the L1 operations with FunctionalScript bodies, and its native rows | none yet; the WASM backend will compile it |
l1/builtin | today's natives as L1 bodies: charCodeAt, slice, String.fromCharCode, Object.entries, entry, hasEntry | none yet; the WASM backend will bind the names to them |
l1/error | the values L1 throws, copied by name from NaNVM's error.rs; nothing checks the texts across the two | l1, l1/native, l1/builtin |
L2, the stock runtime, will join here as l2.
Until a WASM backend exists, every body runs on a JavaScript host, so the layers are proved before any WASM is generated.