Roadmap
This is the plan.
0.1.0 Make it work
- A working compiler
- A working bytecode VM
Gate:
- We can run everything
elmcan compile - The VM runs every valid byrecode program we throw at it
- No matter what we give it, it doesn't crash
0.2.0 Make it correct
- Machine-readable specification we can defend
- Lots of testing/fuzzing
- Guaranteed to run all valid Elm programs
- No frontend breakage: even if we change the backends, valid Elm must run
- Every new release must build against the whole (growing) test corpus
- Machine-readable kernel catalog
Gate:
- The VM is fully generated from the spec
- All meaningful canonical Elm kernels implemented and working per the kernel catalog
0.3.0 Draw the rest of the fucking owl
- Build tools/diagnostics
- Model + message tracing (i.e. the "Elm Debugger" vibe)
- Stop-and-go debugger
- Profiler
Gate:
- Experienced Elm programmers can confidently create programs for the CLI and server Worker runtimes
0.4.0 Make it fast
- Optimized bytecode execution
- Execution and memory profiling
- Optimization catalog
Gate:
- Execution speed reasonably close to interpreted WebAssembly on WASI
0.5.0 Make it secure
- The loader identifies and alerts about the contents of the program
- Clearly specified capabilities per host
- Integrated into
elm-wrapdistribution - Usable capability management UI (no million
--allow-X switches every
invocation)
0.6.0 Game on
- elm-game runs games at 60fps
- Debugging/profiling tools
- One click publishing to itch.io
0.7.0 Make it pleasant
- Host-supported i18n / a11y
- Pleasant coding experience with seamless build / deploy
0.8.0 Go Small
- Runs on RasPi Pico 2
- Debugging experience
0.9.0 In ur DB
- Native Postgres
plelm - Deployment model
- Profiling/visibility tools
1.0.0 🎉
- Native Windows experience
1.1.0 Enterprise
- Policies and controls
- Auditing and logging
- Paid security review If someone pays for it. I ain't payin'; I know it's secure.
