elm-run
Elm runtime

Roadmap

This is the plan.

0.1.0 Make it work

  • A working compiler
  • A working bytecode VM

Gate:

  • We can run everything elm can 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-wrap distribution
  • 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.