Local execution / WebAssembly

Meet the runtime.

Pick a program. Change its inputs. Run the actual code DCDart compiled, including its generated memory management, in your browser.

An execution playground: source is read-only and compiled ahead of time. To edit and compile DCDart source, install the compiler. This page does not simulate compilation.
Loading the runtime manifest…

The same compiler. A browser target.

The build uses DCDart’s existing Kernel frontend, lowering passes, and LLVM emitter. LLVM then compiles that output to WebAssembly. All computation runs locally; no server executes your inputs.

Memory you can account for.

The ARC examples include DCDart’s real allocator and reference-counting code. The page reads the compiled runtime’s live-allocation counter after the function returns. Each run starts with fresh memory.

Execution limits & build provenance

Programs run in a separate browser worker with a two-second execution limit and a 16 MiB maximum linear memory. Integer inputs preserve all 64 bits. Invalid values are rejected, runtime traps are reported, and a stopped or failed run is discarded.

This experimental WASM path is verified for these examples. It does not add general WASM support to the released compiler, a hosted Dart runtime, OS access, or a source compiler to this page. Source downloads retain their original repository-relative prelude imports; use them within a checkout.

Build manifest and SHA-256 hashes ↗ · Compiler source ↗