scope-bound lifetime · GC-free · WASM ~1KB + ~29KB = ~30KB total
These scenarios run in your browser on the real MELP WASM compiler — not a simulation. The tick counts, the freeze state and the closing report all come from the scope state machine inside the WASM; JavaScript only supplies the clock.
← melp.dev  ·  Write your own code → Web IDE
Every scope that closes releases the timer · request · state · listener it owns all by itself — without a single line of cleanup code. Rust does this without a GC too — but through the borrow checker. MELP gives the same safety without one, from lexical scope.
WASM · gzip
?
What is counted: only the compiled .wasm (gzipped). The page total is ~30KB (JS bridge + HTML/CSS included). There is no separate runtime — MELP has none; cleanup is encoded at compile time.
0
Lines of cleanup
?
Lines of manual code written to release the resources. In the React equivalent below, that number is 4.
0
Leaks
?
Resources still alive after the scope closed. Not a measurement but an architectural guarantee: a closed scope's resource cannot stay alive.
0ms
GC pauses
?
No GC, therefore no GC pause. Not a number — a definition.
demo_tab_close.mlp

    
Live resource monitor
Output
// Press ▶ Run — the resources come alive, then go out with Close the Tab.
What would the same scenario look like in React? 4 manual cleanups

In React you write 4 separate manual cleanups to release the same 4 resources. Forget one and you leak — and the compiler will not warn you.