This is the updated roadmap for the Urwasm Project (phase I↗).
WebAssembly is a low-level language for a portable virtual machine. Wasm is designed to be a compilation target for a variety of programming languages and its design is hardware independent and relatively simple, making its support ubiquitous in modern browsers. Its simple design made it a perfect first candidate for a first emulator of an conventional computational system on a novel functional computer: Urbit. This is phase II of the UrWasm (Urbit Wasm) project.
Full specification available here↗.
Milestones
Lia execution in Hoon (1-2 months)
- Lia-to-Wasm compiler
- Wasm binary encoder
- Lia interpreter as a jet target
Reward: 6 Stars
Jet development and determinism enforcement (1 month)
- Lia runtime in C
- Floating point determinism in C
- Wasm validation in Hoon, Lia validation in Hoon and C
Reward: 4 Stars
Operationalization: (1-2 months)
- Lia state caching
- Unit tests
- Lia text format specification and lexer
Reward: 6 Stars