Skip to content

WASI 0.2 compliance #237

@aallan

Description

@aallan

Explicitly target WASI 0.2 compliance, with a migration path to WASI 0.3 for async.

Motivation

WASI standardizes the interface between WASM modules and host environments. Explicit compliance ensures Vera programs are portable across runtimes (wasmtime, wasmer, wazero). WASI 0.3 (release candidate in Wasmtime 37+, November 2025) adds native async with stream<T> and future<T> types that align with Vera's planned Async effect.

Current state

Vera currently uses ad-hoc host function imports for IO operations. These work with wasmtime but are not WASI-compliant.

Proposed work

  • Align existing IO operations (print, read_line, read_file, write_file, args, exit, get_env) with WASI 0.2 interfaces
  • Document WASI 0.3 as the target for the Async effect (Async futures and promises (<Async>) #59)
  • Ensure compiled WASM modules declare WASI imports correctly

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    C10C10 — EcosystemenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions