Skip to content

v0.0.13: State<T> WASM host imports (C6d)

Choose a tag to compare

@aallan aallan released this 25 Feb 01:46
729bf54

C6d: State<T> WASM Host Imports

Compile get/put operations for State<T> effects as WASM host imports.

Added

  • State<Int>, State<Nat>, State<Bool>, State<Float64> compile to typed host import pairs
  • get(()) compiles to call $vera.state_get_T; put(x) compiles to call $vera.state_put_T
  • Host runtime maintains mutable state cells per type
  • execute() accepts optional initial_state and returns final state
  • Mixed effects supported: effects(<State<Int>, IO>)
  • 15 new codegen tests (585 total)
  • examples/increment.vera now compiles and runs

PR: #38