wasmedge-hs-0.17.1.0: Haskell bindings for the WasmEdge WebAssembly runtime
Copyright(c) 2026 Tushar Adhatrao
LicenseMIT
Stabilitystable
Safe HaskellNone
LanguageGHC2021

WasmEdge.Types

Description

Defines the Haskell representation of WebAssembly types used throughout the binding: WasmVal, ValType, Mutability, ExternalType, Limit, and other shared data types.

Synopsis

WASM Values

data WasmVal #

A WebAssembly value, covering all WASM numeric and reference types.

Use the constructor directly or via encode and decode.

Constructors

WasmI32 !Int32

32-bit integer (signed in Haskell, interchangeable with unsigned in WASM)

WasmI64 !Int64

64-bit integer

WasmF32 !Float

32-bit IEEE 754 float

WasmF64 !Double

64-bit IEEE 754 double

WasmV128 !Int128

128-bit SIMD vector (from wide-word)

WasmFuncRef !(Maybe FuncRef)

Function reference (nullable). Nothing is a null funcref.

WasmExternRef !(Maybe ExternRef)

External reference (nullable). Nothing is a null externref.

Instances

Instances details
NFData WasmVal # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: WasmVal -> () #

Generic WasmVal # 
Instance details

Defined in WasmEdge.Types

Methods

from :: WasmVal -> Rep WasmVal x #

to :: Rep WasmVal x -> WasmVal #

Show WasmVal # 
Instance details

Defined in WasmEdge.Types

Eq WasmVal # 
Instance details

Defined in WasmEdge.Types

Methods

(==) :: WasmVal -> WasmVal -> Bool #

(/=) :: WasmVal -> WasmVal -> Bool #

WasmValType WasmVal # 
Instance details

Defined in WasmEdge.Function

type Rep WasmVal # 
Instance details

Defined in WasmEdge.Types

newtype FuncRef #

An opaque reference to a WasmEdge FunctionInstance. Obtained via getFuncRef or from a WasmVal.

Constructors

FuncRefPtr 

Fields

Instances

Instances details
NFData FuncRef # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: FuncRef -> () #

Generic FuncRef # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep FuncRef 
Instance details

Defined in WasmEdge.Types

type Rep FuncRef = D1 ('MetaData "FuncRef" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'True) (C1 ('MetaCons "FuncRefPtr" 'PrefixI 'True) (S1 ('MetaSel ('Just "funcRefPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ptr ()))))

Methods

from :: FuncRef -> Rep FuncRef x #

to :: Rep FuncRef x -> FuncRef #

Show FuncRef # 
Instance details

Defined in WasmEdge.Types

Eq FuncRef # 
Instance details

Defined in WasmEdge.Types

Methods

(==) :: FuncRef -> FuncRef -> Bool #

(/=) :: FuncRef -> FuncRef -> Bool #

type Rep FuncRef # 
Instance details

Defined in WasmEdge.Types

type Rep FuncRef = D1 ('MetaData "FuncRef" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'True) (C1 ('MetaCons "FuncRefPtr" 'PrefixI 'True) (S1 ('MetaSel ('Just "funcRefPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ptr ()))))

newtype ExternRef #

An opaque reference to an external (host) object. Created via mkExternRef.

Constructors

ExternRefPtr 

Fields

Instances

Instances details
NFData ExternRef # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: ExternRef -> () #

Generic ExternRef # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep ExternRef 
Instance details

Defined in WasmEdge.Types

type Rep ExternRef = D1 ('MetaData "ExternRef" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'True) (C1 ('MetaCons "ExternRefPtr" 'PrefixI 'True) (S1 ('MetaSel ('Just "externRefPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ptr ()))))
Show ExternRef # 
Instance details

Defined in WasmEdge.Types

Eq ExternRef # 
Instance details

Defined in WasmEdge.Types

type Rep ExternRef # 
Instance details

Defined in WasmEdge.Types

type Rep ExternRef = D1 ('MetaData "ExternRef" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'True) (C1 ('MetaCons "ExternRefPtr" 'PrefixI 'True) (S1 ('MetaSel ('Just "externRefPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ptr ()))))

Value types

data ValType #

The type of a WebAssembly value. Used in function signatures and global/table type descriptors.

Constructors

I32

32-bit integer

I64

64-bit integer

F32

32-bit float

F64

64-bit float

V128

128-bit SIMD vector

FuncRefT

Function reference (funcref)

ExternRefT

External reference (externref)

Instances

Instances details
NFData ValType # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: ValType -> () #

Bounded ValType # 
Instance details

Defined in WasmEdge.Types

Enum ValType # 
Instance details

Defined in WasmEdge.Types

Generic ValType # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep ValType 
Instance details

Defined in WasmEdge.Types

type Rep ValType = D1 ('MetaData "ValType" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "I32" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "I64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F32" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "F64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "V128" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FuncRefT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternRefT" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: ValType -> Rep ValType x #

to :: Rep ValType x -> ValType #

Show ValType # 
Instance details

Defined in WasmEdge.Types

Eq ValType # 
Instance details

Defined in WasmEdge.Types

Methods

(==) :: ValType -> ValType -> Bool #

(/=) :: ValType -> ValType -> Bool #

Ord ValType # 
Instance details

Defined in WasmEdge.Types

type Rep ValType # 
Instance details

Defined in WasmEdge.Types

type Rep ValType = D1 ('MetaData "ValType" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "I32" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "I64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F32" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "F64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "V128" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FuncRefT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternRefT" 'PrefixI 'False) (U1 :: Type -> Type))))

Limits

data Limit #

A WebAssembly limit (min, optional max) as used in table and memory types.

Constructors

Limit 

Fields

Instances

Instances details
NFData Limit # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: Limit -> () #

Generic Limit # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep Limit 
Instance details

Defined in WasmEdge.Types

type Rep Limit = D1 ('MetaData "Limit" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "Limit" 'PrefixI 'True) (S1 ('MetaSel ('Just "limitMin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "limitMax") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Word32)) :*: S1 ('MetaSel ('Just "limitShared") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))

Methods

from :: Limit -> Rep Limit x #

to :: Rep Limit x -> Limit #

Show Limit # 
Instance details

Defined in WasmEdge.Types

Methods

showsPrec :: Int -> Limit -> ShowS #

show :: Limit -> String #

showList :: [Limit] -> ShowS #

Eq Limit # 
Instance details

Defined in WasmEdge.Types

Methods

(==) :: Limit -> Limit -> Bool #

(/=) :: Limit -> Limit -> Bool #

type Rep Limit # 
Instance details

Defined in WasmEdge.Types

type Rep Limit = D1 ('MetaData "Limit" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "Limit" 'PrefixI 'True) (S1 ('MetaSel ('Just "limitMin") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "limitMax") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Word32)) :*: S1 ('MetaSel ('Just "limitShared") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))

unlimitedLimit :: Word32 -> Limit #

An unlimited limit (no max, not shared).

Mutability

data Mutability #

Global mutability.

Constructors

Const

Immutable global

Var

Mutable global

Instances

Instances details
NFData Mutability # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: Mutability -> () #

Bounded Mutability # 
Instance details

Defined in WasmEdge.Types

Enum Mutability # 
Instance details

Defined in WasmEdge.Types

Generic Mutability # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep Mutability 
Instance details

Defined in WasmEdge.Types

type Rep Mutability = D1 ('MetaData "Mutability" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "Const" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Var" 'PrefixI 'False) (U1 :: Type -> Type))
Show Mutability # 
Instance details

Defined in WasmEdge.Types

Eq Mutability # 
Instance details

Defined in WasmEdge.Types

Ord Mutability # 
Instance details

Defined in WasmEdge.Types

type Rep Mutability # 
Instance details

Defined in WasmEdge.Types

type Rep Mutability = D1 ('MetaData "Mutability" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "Const" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Var" 'PrefixI 'False) (U1 :: Type -> Type))

External types (for import/export)

data ExternalType #

The kind of entity imported or exported by a module.

Constructors

ExternalFunction 
ExternalTable 
ExternalMemory 
ExternalGlobal 
ExternalTag
  1. 18+: exception tag (exception handling proposal)

Instances

Instances details
NFData ExternalType # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: ExternalType -> () #

Bounded ExternalType # 
Instance details

Defined in WasmEdge.Types

Enum ExternalType # 
Instance details

Defined in WasmEdge.Types

Generic ExternalType # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep ExternalType 
Instance details

Defined in WasmEdge.Types

type Rep ExternalType = D1 ('MetaData "ExternalType" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "ExternalFunction" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternalTable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExternalMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ExternalGlobal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternalTag" 'PrefixI 'False) (U1 :: Type -> Type))))
Show ExternalType # 
Instance details

Defined in WasmEdge.Types

Eq ExternalType # 
Instance details

Defined in WasmEdge.Types

Ord ExternalType # 
Instance details

Defined in WasmEdge.Types

type Rep ExternalType # 
Instance details

Defined in WasmEdge.Types

type Rep ExternalType = D1 ('MetaData "ExternalType" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "ExternalFunction" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternalTable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ExternalMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ExternalGlobal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExternalTag" 'PrefixI 'False) (U1 :: Type -> Type))))

Proposals

data Proposal #

WebAssembly proposals that can be enabled in Configure.

Constructors

ImportExportMutGlobals

0: Import/export mutable globals

NonTrapFloatToIntConversions

1: Non-trap float-to-int conversions

SignExtensionOperators

2: Sign-extension operators

MultiValue

3: Multiple return values

BulkMemoryOperations

4: Bulk memory operations

ReferenceTypes

5: Reference types

SIMD

6: SIMD (fixed-width)

TailCall

7: Tail call optimization

ExtendedConst

8: Extended constant expressions

FunctionReferences

9: Typed function references

GC

10: Garbage collection

MultiMemories

11: Multiple memories

RelaxedSIMD

12: Relaxed SIMD

Annotations

13: Custom section annotations

ExceptionHandling

14: Exception handling

Memory64

15: 64-bit memory indices

Threads

16: Threads (shared memory + atomics)

ComponentModel

17: Component model

Instances

Instances details
NFData Proposal # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: Proposal -> () #

Bounded Proposal # 
Instance details

Defined in WasmEdge.Types

Enum Proposal # 
Instance details

Defined in WasmEdge.Types

Generic Proposal # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep Proposal 
Instance details

Defined in WasmEdge.Types

type Rep Proposal = D1 ('MetaData "Proposal" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((((C1 ('MetaCons "ImportExportMutGlobals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonTrapFloatToIntConversions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SignExtensionOperators" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiValue" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BulkMemoryOperations" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ReferenceTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SIMD" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TailCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExtendedConst" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FunctionReferences" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GC" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultiMemories" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RelaxedSIMD" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Annotations" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExceptionHandling" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Memory64" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Threads" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ComponentModel" 'PrefixI 'False) (U1 :: Type -> Type))))))

Methods

from :: Proposal -> Rep Proposal x #

to :: Rep Proposal x -> Proposal #

Show Proposal # 
Instance details

Defined in WasmEdge.Types

Eq Proposal # 
Instance details

Defined in WasmEdge.Types

Ord Proposal # 
Instance details

Defined in WasmEdge.Types

type Rep Proposal # 
Instance details

Defined in WasmEdge.Types

type Rep Proposal = D1 ('MetaData "Proposal" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((((C1 ('MetaCons "ImportExportMutGlobals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonTrapFloatToIntConversions" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SignExtensionOperators" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiValue" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BulkMemoryOperations" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ReferenceTypes" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SIMD" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TailCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExtendedConst" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FunctionReferences" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GC" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MultiMemories" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RelaxedSIMD" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Annotations" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExceptionHandling" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Memory64" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Threads" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ComponentModel" 'PrefixI 'False) (U1 :: Type -> Type))))))

WASM standard

data WasmStandard #

A WASM standard preset that sets a group of proposals at once.

Constructors

WASM1

WASM 1.0 (MVP)

WASM2

WASM 2.0

WASM3

WASM 3.0 (includes tail-call, extended-const, function refs, GC, EH, ...)

Instances

Instances details
NFData WasmStandard # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: WasmStandard -> () #

Bounded WasmStandard # 
Instance details

Defined in WasmEdge.Types

Enum WasmStandard # 
Instance details

Defined in WasmEdge.Types

Generic WasmStandard # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep WasmStandard 
Instance details

Defined in WasmEdge.Types

type Rep WasmStandard = D1 ('MetaData "WasmStandard" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "WASM1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WASM2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WASM3" 'PrefixI 'False) (U1 :: Type -> Type)))
Show WasmStandard # 
Instance details

Defined in WasmEdge.Types

Eq WasmStandard # 
Instance details

Defined in WasmEdge.Types

Ord WasmStandard # 
Instance details

Defined in WasmEdge.Types

type Rep WasmStandard # 
Instance details

Defined in WasmEdge.Types

type Rep WasmStandard = D1 ('MetaData "WasmStandard" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "WASM1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WASM2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WASM3" 'PrefixI 'False) (U1 :: Type -> Type)))

Host registrations

data HostRegistration #

Built-in host module registrations.

Constructors

HostWASI

Register the WASI module

HostWasmEdgeProcess

Deprecated: wasmedge_process was removed in WasmEdge 0.18. Use HostWASI instead.

wasmedge_process was removed in WasmEdge 0.18. Use WASI instead.

Instances

Instances details
NFData HostRegistration # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: HostRegistration -> () #

Bounded HostRegistration # 
Instance details

Defined in WasmEdge.Types

Enum HostRegistration # 
Instance details

Defined in WasmEdge.Types

Generic HostRegistration # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep HostRegistration 
Instance details

Defined in WasmEdge.Types

type Rep HostRegistration = D1 ('MetaData "HostRegistration" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "HostWASI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HostWasmEdgeProcess" 'PrefixI 'False) (U1 :: Type -> Type))
Show HostRegistration # 
Instance details

Defined in WasmEdge.Types

Eq HostRegistration # 
Instance details

Defined in WasmEdge.Types

Ord HostRegistration # 
Instance details

Defined in WasmEdge.Types

type Rep HostRegistration # 
Instance details

Defined in WasmEdge.Types

type Rep HostRegistration = D1 ('MetaData "HostRegistration" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "HostWASI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HostWasmEdgeProcess" 'PrefixI 'False) (U1 :: Type -> Type))

Run mode

data RunMode #

The execution mode for the WasmEdge runtime.

Constructors

RunModeInterpreter

Pure interpreter (always available)

RunModeAOT

AOT compiled (requires compiled binary)

RunModeLazyJIT

Lazy JIT: compile on first function call (0.18+)

Instances

Instances details
NFData RunMode # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: RunMode -> () #

Bounded RunMode # 
Instance details

Defined in WasmEdge.Types

Enum RunMode # 
Instance details

Defined in WasmEdge.Types

Generic RunMode # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep RunMode 
Instance details

Defined in WasmEdge.Types

type Rep RunMode = D1 ('MetaData "RunMode" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "RunModeInterpreter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RunModeAOT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RunModeLazyJIT" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: RunMode -> Rep RunMode x #

to :: Rep RunMode x -> RunMode #

Show RunMode # 
Instance details

Defined in WasmEdge.Types

Eq RunMode # 
Instance details

Defined in WasmEdge.Types

Methods

(==) :: RunMode -> RunMode -> Bool #

(/=) :: RunMode -> RunMode -> Bool #

Ord RunMode # 
Instance details

Defined in WasmEdge.Types

type Rep RunMode # 
Instance details

Defined in WasmEdge.Types

type Rep RunMode = D1 ('MetaData "RunMode" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "RunModeInterpreter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RunModeAOT" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RunModeLazyJIT" 'PrefixI 'False) (U1 :: Type -> Type)))

Compiler settings

data OptimizationLevel #

AOT compiler optimization level.

Constructors

OptO0

No optimization

OptO1

Basic optimization

OptO2

Default optimization

OptO3

Aggressive optimization

OptOs

Optimize for size

OptOz

Aggressive size optimization

Instances

Instances details
NFData OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: OptimizationLevel -> () #

Bounded OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Enum OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Generic OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep OptimizationLevel 
Instance details

Defined in WasmEdge.Types

type Rep OptimizationLevel = D1 ('MetaData "OptimizationLevel" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "OptO0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OptO1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OptO2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OptO3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OptOs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OptOz" 'PrefixI 'False) (U1 :: Type -> Type))))
Show OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Eq OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

Ord OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

type Rep OptimizationLevel # 
Instance details

Defined in WasmEdge.Types

type Rep OptimizationLevel = D1 ('MetaData "OptimizationLevel" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) ((C1 ('MetaCons "OptO0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OptO1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OptO2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "OptO3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OptOs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OptOz" 'PrefixI 'False) (U1 :: Type -> Type))))

data OutputFormat #

AOT compiler output format.

Constructors

OutputNativeSharedLibrary

Platform native shared library

OutputWasmUniversal

Universal WASM (embeds native + bytecode)

Instances

Instances details
NFData OutputFormat # 
Instance details

Defined in WasmEdge.Types

Methods

rnf :: OutputFormat -> () #

Bounded OutputFormat # 
Instance details

Defined in WasmEdge.Types

Enum OutputFormat # 
Instance details

Defined in WasmEdge.Types

Generic OutputFormat # 
Instance details

Defined in WasmEdge.Types

Associated Types

type Rep OutputFormat 
Instance details

Defined in WasmEdge.Types

type Rep OutputFormat = D1 ('MetaData "OutputFormat" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "OutputNativeSharedLibrary" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OutputWasmUniversal" 'PrefixI 'False) (U1 :: Type -> Type))
Show OutputFormat # 
Instance details

Defined in WasmEdge.Types

Eq OutputFormat # 
Instance details

Defined in WasmEdge.Types

Ord OutputFormat # 
Instance details

Defined in WasmEdge.Types

type Rep OutputFormat # 
Instance details

Defined in WasmEdge.Types

type Rep OutputFormat = D1 ('MetaData "OutputFormat" "WasmEdge.Types" "wasmedge-hs-0.17.1.0-inplace" 'False) (C1 ('MetaCons "OutputNativeSharedLibrary" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OutputWasmUniversal" 'PrefixI 'False) (U1 :: Type -> Type))