wasmedge-hs-0.17.1.0: Haskell bindings for the WasmEdge WebAssembly runtime
Comprehensive, type-safe Haskell FFI bindings for the WasmEdge C API.
.
Features:
.
* Full coverage of the WasmEdge 0.17.x C API
* Two-layer design: raw FFI layer + safe idiomatic public API
* Phantom-typed ownership model — no double-frees or use-after-free
* bracket-style resource management compatible with MonadUnliftIO
* Support for WASI, host functions, async execution, AOT compilation,
plugins, Tag instances (exception handling), and lazy JIT mode
* Property-tested with Hedgehog; unit-tested with HSpec
Modules
wasmedge-hs-0.17.1.0
- WasmEdge Re-exports for convenient import of the WasmEdge Haskell bindings
- WasmEdge.Async Asynchronous WasmEdge execution results
- WasmEdge.Bindgen High-level guest function invocation and host function data marshalling
- WasmEdge.Caller Caller context and guest memory access for host functions
- WasmEdge.Compiler WasmEdge Ahead-Of-Time (AOT) compiler context
- WasmEdge.Configure WasmEdge configuration context
- WasmEdge.Error WasmEdge error types and exception hierarchy
- WasmEdge.Executor WasmEdge executor context for low-level module lifecycle and invocation
- WasmEdge.Function WasmEdge function types and host function instances
- WasmEdge.Function.Memory Memory-aware host function lifting
- WasmEdge.Global WasmEdge global variable contexts
- Internal
- FFI
- WasmEdge.Internal.FFI.AST Raw FFI for WasmEdge AST module context
- WasmEdge.Internal.FFI.Basic Raw FFI bindings for WasmEdge basic types: version, string, bytes, result, log
- WasmEdge.Internal.FFI.Compiler Raw FFI for WasmEdge AOT compiler context
- WasmEdge.Internal.FFI.Configure Raw FFI for WasmEdge configure and statistics contexts
- WasmEdge.Internal.FFI.Execution Raw FFI for loader, validator, executor, store, and async contexts
- WasmEdge.Internal.FFI.Experimental Raw FFI for WasmEdge experimental hooks
- WasmEdge.Internal.FFI.Instance Raw FFI for all WasmEdge instance contexts
- WasmEdge.Internal.FFI.Plugin Raw FFI for WasmEdge plugin context
- WasmEdge.Internal.FFI.VM Raw FFI for WasmEdge VM context
- WasmEdge.Internal.FFI.Value Raw FFI for WasmEdge value types and value gen/get
- WasmEdge.Internal.Ownership Owned and borrowed pointer wrappers with GC finalizer support
- WasmEdge.Internal.Storable Storable instances for WasmEdge C structs
- WasmEdge.Internal.Types Phantom type tags and opaque context wrappers for WasmEdge C contexts
- WasmEdge.Internal.Utils Internal utility functions shared across FFI modules
- FFI
- WasmEdge.Log WasmEdge runtime logging configuration
- WasmEdge.Memory WasmEdge linear memory contexts
- WasmEdge.Memory.Alloc High-level bracket for Wasm-side memory allocation and data marshalling
- WasmEdge.Memory.Codec Typeclass for serialising Haskell values through Wasm linear memory
- WasmEdge.Module WasmEdge module instances, host modules, and WASI
- WasmEdge.Plugin WasmEdge plugin discovery, loading, and module instantiation
- WasmEdge.Statistics WasmEdge statistics context
- WasmEdge.Store WasmEdge store context
- WasmEdge.Table WasmEdge table contexts
- WasmEdge.Tag WasmEdge tag types and tag instances (Wasm exception handling proposal)
- WasmEdge.Types Core WebAssembly and WasmEdge types
- WasmEdge.VM High-level WasmEdge VM context
- WasmEdge.Value Conversion between Haskell
WasmValand WasmEdge C values