-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell bindings to binaryen
--
-- Haskell bindings to binaryen. Provides complete bindings to the
-- C API, which can be useful for building WebAssembly toolchains in
-- Haskell.
@package binaryen
@version 0.0.2.0
-- | Expression identifiers.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.ExpressionId
newtype ExpressionId
ExpressionId :: Word32 -> ExpressionId
invalidId :: ExpressionId
blockId :: ExpressionId
ifId :: ExpressionId
loopId :: ExpressionId
breakId :: ExpressionId
switchId :: ExpressionId
callId :: ExpressionId
callIndirectId :: ExpressionId
localGetId :: ExpressionId
localSetId :: ExpressionId
globalGetId :: ExpressionId
globalSetId :: ExpressionId
loadId :: ExpressionId
storeId :: ExpressionId
constId :: ExpressionId
unaryId :: ExpressionId
binaryId :: ExpressionId
selectId :: ExpressionId
dropId :: ExpressionId
returnId :: ExpressionId
hostId :: ExpressionId
nopId :: ExpressionId
unreachableId :: ExpressionId
atomicCmpxchgId :: ExpressionId
atomicRMWId :: ExpressionId
atomicWaitId :: ExpressionId
atomicNotifyId :: ExpressionId
atomicFenceId :: ExpressionId
simdExtractId :: ExpressionId
simdReplaceId :: ExpressionId
simdShuffleId :: ExpressionId
simdTernaryId :: ExpressionId
simdShiftId :: ExpressionId
simdLoadId :: ExpressionId
memoryInitId :: ExpressionId
dataDropId :: ExpressionId
memoryCopyId :: ExpressionId
memoryFillId :: ExpressionId
refNullId :: ExpressionId
refIsNullId :: ExpressionId
refFuncId :: ExpressionId
tryId :: ExpressionId
throwId :: ExpressionId
rethrowId :: ExpressionId
brOnExnId :: ExpressionId
popId :: ExpressionId
instance Foreign.Storable.Storable Binaryen.ExpressionId.ExpressionId
instance GHC.Show.Show Binaryen.ExpressionId.ExpressionId
instance GHC.Classes.Eq Binaryen.ExpressionId.ExpressionId
-- | External kinds.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.ExternalKind
newtype ExternalKind
ExternalKind :: Word32 -> ExternalKind
externalFunction :: ExternalKind
externalTable :: ExternalKind
externalMemory :: ExternalKind
externalGlobal :: ExternalKind
externalEvent :: ExternalKind
instance Foreign.Storable.Storable Binaryen.ExternalKind.ExternalKind
instance GHC.Show.Show Binaryen.ExternalKind.ExternalKind
instance GHC.Classes.Eq Binaryen.ExternalKind.ExternalKind
-- | Exports.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Export
newtype Export
Export :: Ptr Export -> Export
getKind :: Export -> IO ExternalKind
getName :: Export -> IO (Ptr CChar)
getValue :: Export -> IO (Ptr CChar)
instance Foreign.Storable.Storable Binaryen.Export.Export
instance GHC.Show.Show Binaryen.Export.Export
instance GHC.Classes.Eq Binaryen.Export.Export
-- | WebAssembly features.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Features
newtype Features
Features :: Word32 -> Features
mvp :: Features
atomics :: Features
bulkMemory :: Features
mutableGlobals :: Features
nontrappingFPToInt :: Features
signExt :: Features
simd128 :: Features
exceptionHandling :: Features
tailCall :: Features
referenceTypes :: Features
all :: Features
instance Foreign.Storable.Storable Binaryen.Features.Features
instance GHC.Show.Show Binaryen.Features.Features
instance GHC.Classes.Eq Binaryen.Features.Features
instance Data.Bits.Bits Binaryen.Features.Features
-- | The Binaryen index type.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Index
newtype Index
Index :: Word32 -> Index
instance Foreign.Storable.Storable Binaryen.Index.Index
instance GHC.Show.Show Binaryen.Index.Index
instance GHC.Num.Num Binaryen.Index.Index
instance GHC.Classes.Eq Binaryen.Index.Index
-- | Operators.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Op
newtype Op
Op :: Int32 -> Op
clzInt32 :: Op
ctzInt32 :: Op
popcntInt32 :: Op
negFloat32 :: Op
absFloat32 :: Op
ceilFloat32 :: Op
floorFloat32 :: Op
truncFloat32 :: Op
nearestFloat32 :: Op
sqrtFloat32 :: Op
eqZInt32 :: Op
clzInt64 :: Op
ctzInt64 :: Op
popcntInt64 :: Op
negFloat64 :: Op
absFloat64 :: Op
ceilFloat64 :: Op
floorFloat64 :: Op
truncFloat64 :: Op
nearestFloat64 :: Op
sqrtFloat64 :: Op
eqZInt64 :: Op
extendSInt32 :: Op
extendUInt32 :: Op
wrapInt64 :: Op
truncSFloat32ToInt32 :: Op
truncSFloat32ToInt64 :: Op
truncUFloat32ToInt32 :: Op
truncUFloat32ToInt64 :: Op
truncSFloat64ToInt32 :: Op
truncSFloat64ToInt64 :: Op
truncUFloat64ToInt32 :: Op
truncUFloat64ToInt64 :: Op
reinterpretFloat32 :: Op
reinterpretFloat64 :: Op
convertSInt32ToFloat32 :: Op
convertSInt32ToFloat64 :: Op
convertUInt32ToFloat32 :: Op
convertUInt32ToFloat64 :: Op
convertSInt64ToFloat32 :: Op
convertSInt64ToFloat64 :: Op
convertUInt64ToFloat32 :: Op
convertUInt64ToFloat64 :: Op
promoteFloat32 :: Op
demoteFloat64 :: Op
reinterpretInt32 :: Op
reinterpretInt64 :: Op
extendS8Int32 :: Op
extendS16Int32 :: Op
extendS8Int64 :: Op
extendS16Int64 :: Op
extendS32Int64 :: Op
addInt32 :: Op
subInt32 :: Op
mulInt32 :: Op
divSInt32 :: Op
divUInt32 :: Op
remSInt32 :: Op
remUInt32 :: Op
andInt32 :: Op
orInt32 :: Op
xorInt32 :: Op
shlInt32 :: Op
shrUInt32 :: Op
shrSInt32 :: Op
rotLInt32 :: Op
rotRInt32 :: Op
eqInt32 :: Op
neInt32 :: Op
ltSInt32 :: Op
ltUInt32 :: Op
leSInt32 :: Op
leUInt32 :: Op
gtSInt32 :: Op
gtUInt32 :: Op
geSInt32 :: Op
geUInt32 :: Op
addInt64 :: Op
subInt64 :: Op
mulInt64 :: Op
divSInt64 :: Op
divUInt64 :: Op
remSInt64 :: Op
remUInt64 :: Op
andInt64 :: Op
orInt64 :: Op
xorInt64 :: Op
shlInt64 :: Op
shrUInt64 :: Op
shrSInt64 :: Op
rotLInt64 :: Op
rotRInt64 :: Op
eqInt64 :: Op
neInt64 :: Op
ltSInt64 :: Op
ltUInt64 :: Op
leSInt64 :: Op
leUInt64 :: Op
gtSInt64 :: Op
gtUInt64 :: Op
geSInt64 :: Op
geUInt64 :: Op
addFloat32 :: Op
subFloat32 :: Op
mulFloat32 :: Op
divFloat32 :: Op
copySignFloat32 :: Op
minFloat32 :: Op
maxFloat32 :: Op
eqFloat32 :: Op
neFloat32 :: Op
ltFloat32 :: Op
leFloat32 :: Op
gtFloat32 :: Op
geFloat32 :: Op
addFloat64 :: Op
subFloat64 :: Op
mulFloat64 :: Op
divFloat64 :: Op
copySignFloat64 :: Op
minFloat64 :: Op
maxFloat64 :: Op
eqFloat64 :: Op
neFloat64 :: Op
ltFloat64 :: Op
leFloat64 :: Op
gtFloat64 :: Op
geFloat64 :: Op
memorySize :: Op
memoryGrow :: Op
atomicRMWAdd :: Op
atomicRMWSub :: Op
atomicRMWAnd :: Op
atomicRMWOr :: Op
atomicRMWXor :: Op
atomicRMWXchg :: Op
truncSatSFloat32ToInt32 :: Op
truncSatSFloat32ToInt64 :: Op
truncSatUFloat32ToInt32 :: Op
truncSatUFloat32ToInt64 :: Op
truncSatSFloat64ToInt32 :: Op
truncSatSFloat64ToInt64 :: Op
truncSatUFloat64ToInt32 :: Op
truncSatUFloat64ToInt64 :: Op
splatVecI8x16 :: Op
extractLaneSVecI8x16 :: Op
extractLaneUVecI8x16 :: Op
replaceLaneVecI8x16 :: Op
splatVecI16x8 :: Op
extractLaneSVecI16x8 :: Op
extractLaneUVecI16x8 :: Op
replaceLaneVecI16x8 :: Op
splatVecI32x4 :: Op
extractLaneVecI32x4 :: Op
replaceLaneVecI32x4 :: Op
splatVecI64x2 :: Op
extractLaneVecI64x2 :: Op
replaceLaneVecI64x2 :: Op
splatVecF32x4 :: Op
extractLaneVecF32x4 :: Op
replaceLaneVecF32x4 :: Op
splatVecF64x2 :: Op
extractLaneVecF64x2 :: Op
replaceLaneVecF64x2 :: Op
eqVecI8x16 :: Op
neVecI8x16 :: Op
ltSVecI8x16 :: Op
ltUVecI8x16 :: Op
gtSVecI8x16 :: Op
gtUVecI8x16 :: Op
leSVecI8x16 :: Op
leUVecI8x16 :: Op
geSVecI8x16 :: Op
geUVecI8x16 :: Op
eqVecI16x8 :: Op
neVecI16x8 :: Op
ltSVecI16x8 :: Op
ltUVecI16x8 :: Op
gtSVecI16x8 :: Op
gtUVecI16x8 :: Op
leSVecI16x8 :: Op
leUVecI16x8 :: Op
geSVecI16x8 :: Op
geUVecI16x8 :: Op
eqVecI32x4 :: Op
neVecI32x4 :: Op
ltSVecI32x4 :: Op
ltUVecI32x4 :: Op
gtSVecI32x4 :: Op
gtUVecI32x4 :: Op
leSVecI32x4 :: Op
leUVecI32x4 :: Op
geSVecI32x4 :: Op
geUVecI32x4 :: Op
eqVecF32x4 :: Op
neVecF32x4 :: Op
ltVecF32x4 :: Op
gtVecF32x4 :: Op
leVecF32x4 :: Op
geVecF32x4 :: Op
eqVecF64x2 :: Op
neVecF64x2 :: Op
ltVecF64x2 :: Op
gtVecF64x2 :: Op
leVecF64x2 :: Op
geVecF64x2 :: Op
notVec128 :: Op
andVec128 :: Op
orVec128 :: Op
xorVec128 :: Op
andNotVec128 :: Op
bitselectVec128 :: Op
negVecI8x16 :: Op
anyTrueVecI8x16 :: Op
allTrueVecI8x16 :: Op
shlVecI8x16 :: Op
shrSVecI8x16 :: Op
shrUVecI8x16 :: Op
addVecI8x16 :: Op
addSatSVecI8x16 :: Op
addSatUVecI8x16 :: Op
subVecI8x16 :: Op
subSatSVecI8x16 :: Op
subSatUVecI8x16 :: Op
mulVecI8x16 :: Op
minSVecI8x16 :: Op
minUVecI8x16 :: Op
maxSVecI8x16 :: Op
maxUVecI8x16 :: Op
avgrUVecI8x16 :: Op
negVecI16x8 :: Op
anyTrueVecI16x8 :: Op
allTrueVecI16x8 :: Op
shlVecI16x8 :: Op
shrSVecI16x8 :: Op
shrUVecI16x8 :: Op
addVecI16x8 :: Op
addSatSVecI16x8 :: Op
addSatUVecI16x8 :: Op
subVecI16x8 :: Op
subSatSVecI16x8 :: Op
subSatUVecI16x8 :: Op
mulVecI16x8 :: Op
minSVecI16x8 :: Op
minUVecI16x8 :: Op
maxSVecI16x8 :: Op
maxUVecI16x8 :: Op
avgrUVecI16x8 :: Op
negVecI32x4 :: Op
anyTrueVecI32x4 :: Op
allTrueVecI32x4 :: Op
shlVecI32x4 :: Op
shrSVecI32x4 :: Op
shrUVecI32x4 :: Op
addVecI32x4 :: Op
subVecI32x4 :: Op
mulVecI32x4 :: Op
minSVecI32x4 :: Op
minUVecI32x4 :: Op
maxSVecI32x4 :: Op
maxUVecI32x4 :: Op
dotSVecI16x8ToVecI32x4 :: Op
negVecI64x2 :: Op
anyTrueVecI64x2 :: Op
allTrueVecI64x2 :: Op
shlVecI64x2 :: Op
shrSVecI64x2 :: Op
shrUVecI64x2 :: Op
addVecI64x2 :: Op
subVecI64x2 :: Op
absVecF32x4 :: Op
negVecF32x4 :: Op
sqrtVecF32x4 :: Op
qFMAVecF32x4 :: Op
qFMSVecF32x4 :: Op
addVecF32x4 :: Op
subVecF32x4 :: Op
mulVecF32x4 :: Op
divVecF32x4 :: Op
minVecF32x4 :: Op
maxVecF32x4 :: Op
absVecF64x2 :: Op
negVecF64x2 :: Op
sqrtVecF64x2 :: Op
qFMAVecF64x2 :: Op
qFMSVecF64x2 :: Op
addVecF64x2 :: Op
subVecF64x2 :: Op
mulVecF64x2 :: Op
divVecF64x2 :: Op
minVecF64x2 :: Op
maxVecF64x2 :: Op
truncSatSVecF32x4ToVecI32x4 :: Op
truncSatUVecF32x4ToVecI32x4 :: Op
truncSatSVecF64x2ToVecI64x2 :: Op
truncSatUVecF64x2ToVecI64x2 :: Op
convertSVecI32x4ToVecF32x4 :: Op
convertUVecI32x4ToVecF32x4 :: Op
convertSVecI64x2ToVecF64x2 :: Op
convertUVecI64x2ToVecF64x2 :: Op
loadSplatVec8x16 :: Op
loadSplatVec16x8 :: Op
loadSplatVec32x4 :: Op
loadSplatVec64x2 :: Op
loadExtSVec8x8ToVecI16x8 :: Op
loadExtUVec8x8ToVecI16x8 :: Op
loadExtSVec16x4ToVecI32x4 :: Op
loadExtUVec16x4ToVecI32x4 :: Op
loadExtSVec32x2ToVecI64x2 :: Op
loadExtUVec32x2ToVecI64x2 :: Op
narrowSVecI16x8ToVecI8x16 :: Op
narrowUVecI16x8ToVecI8x16 :: Op
narrowSVecI32x4ToVecI16x8 :: Op
narrowUVecI32x4ToVecI16x8 :: Op
widenLowSVecI8x16ToVecI16x8 :: Op
widenHighSVecI8x16ToVecI16x8 :: Op
widenLowUVecI8x16ToVecI16x8 :: Op
widenHighUVecI8x16ToVecI16x8 :: Op
widenLowSVecI16x8ToVecI32x4 :: Op
widenHighSVecI16x8ToVecI32x4 :: Op
widenLowUVecI16x8ToVecI32x4 :: Op
widenHighUVecI16x8ToVecI32x4 :: Op
swizzleVec8x16 :: Op
instance Foreign.Storable.Storable Binaryen.Op.Op
instance GHC.Show.Show Binaryen.Op.Op
instance GHC.Classes.Eq Binaryen.Op.Op
-- | Core types.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Type
newtype Type
Type :: CUIntPtr -> Type
none :: Type
int32 :: Type
int64 :: Type
float32 :: Type
float64 :: Type
vec128 :: Type
funcref :: Type
externref :: Type
nullref :: Type
exnref :: Type
unreachable :: Type
auto :: Type
create :: Ptr Type -> Word32 -> IO Type
arity :: Type -> IO Word32
expand :: Type -> Ptr Type -> IO ()
instance Foreign.Storable.Storable Binaryen.Type.Type
instance GHC.Show.Show Binaryen.Type.Type
instance GHC.Classes.Eq Binaryen.Type.Type
-- | Expressions.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Expression
newtype Expression
Expression :: Ptr Expression -> Expression
constInt32 :: Module -> Int32 -> IO Expression
constInt64 :: Module -> Int64 -> IO Expression
constFloat32 :: Module -> Float -> IO Expression
constFloat64 :: Module -> Double -> IO Expression
constVec128 :: Module -> Ptr Word8 -> IO Expression
constFloat32Bits :: Module -> Int32 -> IO Expression
constFloat64Bits :: Module -> Int64 -> IO Expression
block :: Module -> Ptr CChar -> Ptr Expression -> Index -> Type -> IO Expression
if_ :: Module -> Expression -> Expression -> Expression -> IO Expression
loop :: Module -> Ptr CChar -> Expression -> IO Expression
break :: Module -> Ptr CChar -> Expression -> Expression -> IO Expression
switch :: Module -> Ptr (Ptr CChar) -> Index -> Ptr CChar -> Expression -> Expression -> IO Expression
call :: Module -> Ptr CChar -> Ptr Expression -> Index -> Type -> IO Expression
callIndirect :: Module -> Expression -> Ptr Expression -> Index -> Type -> Type -> IO Expression
returnCall :: Module -> Ptr CChar -> Ptr Expression -> Index -> Type -> IO Expression
returnCallIndirect :: Module -> Expression -> Ptr Expression -> Index -> Type -> Type -> IO Expression
localGet :: Module -> Index -> Type -> IO Expression
localSet :: Module -> Index -> Expression -> IO Expression
localTee :: Module -> Index -> Expression -> Type -> IO Expression
globalGet :: Module -> Ptr CChar -> Type -> IO Expression
globalSet :: Module -> Ptr CChar -> Expression -> IO Expression
load :: Module -> Word32 -> Int8 -> Word32 -> Word32 -> Type -> Expression -> IO Expression
store :: Module -> Word32 -> Word32 -> Word32 -> Expression -> Expression -> Type -> IO Expression
unary :: Module -> Op -> Expression -> IO Expression
binary :: Module -> Op -> Expression -> Expression -> IO Expression
select :: Module -> Expression -> Expression -> Expression -> Type -> IO Expression
drop :: Module -> Expression -> IO Expression
return :: Module -> Expression -> IO Expression
host :: Module -> Op -> Ptr CChar -> Ptr Expression -> Index -> IO Expression
nop :: Module -> IO Expression
unreachable :: Module -> IO Expression
atomicLoad :: Module -> Word32 -> Word32 -> Type -> Expression -> IO Expression
atomicStore :: Module -> Word32 -> Word32 -> Expression -> Expression -> Type -> IO Expression
atomicRMW :: Module -> Op -> Index -> Index -> Expression -> Expression -> Type -> IO Expression
atomicCmpxchg :: Module -> Index -> Index -> Expression -> Expression -> Expression -> Type -> IO Expression
atomicWait :: Module -> Expression -> Expression -> Expression -> Type -> IO Expression
atomicNotify :: Module -> Expression -> Expression -> IO Expression
atomicFence :: Module -> IO Expression
simdExtract :: Module -> Op -> Expression -> Word8 -> IO Expression
simdReplace :: Module -> Op -> Expression -> Word8 -> Expression -> IO Expression
simdShuffle :: Module -> Expression -> Expression -> Ptr Word8 -> IO Expression
simdTernary :: Module -> Op -> Expression -> Expression -> Expression -> IO Expression
simdShift :: Module -> Op -> Expression -> Expression -> IO Expression
simdLoad :: Module -> Op -> Word32 -> Word32 -> Expression -> IO Expression
memoryInit :: Module -> Word32 -> Expression -> Expression -> Expression -> IO Expression
dataDrop :: Module -> Word32 -> IO Expression
memoryCopy :: Module -> Expression -> Expression -> Expression -> IO Expression
memoryFill :: Module -> Expression -> Expression -> Expression -> IO Expression
refNull :: Module -> IO Expression
refIsNull :: Module -> Expression -> IO Expression
refFunc :: Module -> Ptr CChar -> IO Expression
try :: Module -> Expression -> Expression -> IO Expression
throw :: Module -> Ptr CChar -> Ptr Expression -> Index -> IO Expression
rethrow :: Module -> Expression -> IO Expression
brOnExn :: Module -> Ptr CChar -> Ptr CChar -> Expression -> IO Expression
pop :: Module -> Type -> IO Expression
getId :: Expression -> IO ExpressionId
getType :: Expression -> IO Type
print :: Expression -> IO ()
blockGetName :: Expression -> IO (Ptr CChar)
blockGetNumChildren :: Expression -> IO Index
blockGetChild :: Expression -> Index -> IO Expression
ifGetCondition :: Expression -> IO Expression
ifGetIfTrue :: Expression -> IO Expression
ifGetIfFalse :: Expression -> IO Expression
loopGetName :: Expression -> IO (Ptr CChar)
loopGetBody :: Expression -> IO Expression
breakGetName :: Expression -> IO (Ptr CChar)
breakGetCondition :: Expression -> IO Expression
breakGetValue :: Expression -> IO Expression
switchGetNumNames :: Expression -> IO Index
switchGetName :: Expression -> Index -> IO (Ptr CChar)
switchGetDefaultName :: Expression -> IO (Ptr CChar)
switchGetCondition :: Expression -> IO Expression
switchGetValue :: Expression -> IO Expression
callGetTarget :: Expression -> IO (Ptr CChar)
callGetNumOperands :: Expression -> IO Index
callGetOperand :: Expression -> Index -> IO Expression
callIndirectGetTarget :: Expression -> IO Expression
callIndirectGetNumOperands :: Expression -> IO Index
callIndirectGetOperand :: Expression -> Index -> IO Expression
localGetGetIndex :: Expression -> IO Index
localSetIsTee :: Expression -> IO CInt
localSetGetIndex :: Expression -> IO Index
localSetGetValue :: Expression -> IO Expression
globalGetGetName :: Expression -> IO (Ptr CChar)
globalSetGetName :: Expression -> IO (Ptr CChar)
globalSetGetValue :: Expression -> IO Expression
hostGetOp :: Expression -> IO Op
hostGetNameOperand :: Expression -> IO (Ptr CChar)
hostGetNumOperands :: Expression -> IO Index
hostGetOperand :: Expression -> Index -> IO Expression
loadIsAtomic :: Expression -> IO CInt
loadIsSigned :: Expression -> IO CInt
loadGetOffset :: Expression -> IO Word32
loadGetBytes :: Expression -> IO Word32
loadGetAlign :: Expression -> IO Word32
loadGetPtr :: Expression -> IO Expression
storeIsAtomic :: Expression -> IO CInt
storeGetBytes :: Expression -> IO Word32
storeGetOffset :: Expression -> IO Word32
storeGetAlign :: Expression -> IO Word32
storeGetPtr :: Expression -> IO Expression
storeGetValue :: Expression -> IO Expression
constGetValueI32 :: Expression -> IO Int32
constGetValueI64 :: Expression -> IO Int64
constGetValueI64Low :: Expression -> IO Int32
constGetValueI64High :: Expression -> IO Int32
constGetValueF32 :: Expression -> IO CFloat
constGetValueF64 :: Expression -> IO CDouble
constGetValueV128 :: Expression -> Ptr Word8 -> IO ()
unaryGetOp :: Expression -> IO Op
unaryGetValue :: Expression -> IO Expression
binaryGetOp :: Expression -> IO Op
binaryGetLeft :: Expression -> IO Expression
binaryGetRight :: Expression -> IO Expression
selectGetIfTrue :: Expression -> IO Expression
selectGetIfFalse :: Expression -> IO Expression
selectGetCondition :: Expression -> IO Expression
dropGetValue :: Expression -> IO Expression
returnGetValue :: Expression -> IO Expression
atomicRMWGetOp :: Expression -> IO Op
atomicRMWGetBytes :: Expression -> IO Word32
atomicRMWGetOffset :: Expression -> IO Word32
atomicRMWGetPtr :: Expression -> IO Expression
atomicRMWGetValue :: Expression -> IO Expression
atomicCmpxchgGetBytes :: Expression -> IO Word32
atomicCmpxchgGetOffset :: Expression -> IO Word32
atomicCmpxchgGetPtr :: Expression -> IO Expression
atomicCmpxchgGetExpected :: Expression -> IO Expression
atomicCmpxchgGetReplacement :: Expression -> IO Expression
atomicWaitGetPtr :: Expression -> IO Expression
atomicWaitGetExpected :: Expression -> IO Expression
atomicWaitGetTimeout :: Expression -> IO Expression
atomicWaitGetExpectedType :: Expression -> IO Type
atomicNotifyGetPtr :: Expression -> IO Expression
atomicNotifyGetNotifyCount :: Expression -> IO Expression
atomicFenceGetOrder :: Expression -> IO Word8
simdExtractGetOp :: Expression -> IO Op
simdExtractGetVec :: Expression -> IO Expression
simdExtractGetIndex :: Expression -> IO Word8
simdReplaceGetOp :: Expression -> IO Op
simdReplaceGetVec :: Expression -> IO Expression
simdReplaceGetIndex :: Expression -> IO Word8
simdReplaceGetValue :: Expression -> IO Expression
simdShuffleGetLeft :: Expression -> IO Expression
simdShuffleGetRight :: Expression -> IO Expression
simdShuffleGetMask :: Expression -> Ptr Word8 -> IO ()
simdTernaryGetOp :: Expression -> IO Op
simdTernaryGetA :: Expression -> IO Expression
simdTernaryGetB :: Expression -> IO Expression
simdTernaryGetC :: Expression -> IO Expression
simdShiftGetOp :: Expression -> IO Op
simdShiftGetVec :: Expression -> IO Expression
simdShiftGetShift :: Expression -> IO Expression
simdLoadGetOp :: Expression -> IO Op
simdLoadGetOffset :: Expression -> IO Word32
simdLoadGetAlign :: Expression -> IO Word32
simdLoadGetPtr :: Expression -> IO Expression
memoryInitGetSegment :: Expression -> IO Word32
memoryInitGetDest :: Expression -> IO Expression
memoryInitGetOffset :: Expression -> IO Expression
memoryInitGetSize :: Expression -> IO Expression
dataDropGetSegment :: Expression -> IO Word32
memoryCopyGetDest :: Expression -> IO Expression
memoryCopyGetSource :: Expression -> IO Expression
memoryCopyGetSize :: Expression -> IO Expression
memoryFillGetDest :: Expression -> IO Expression
memoryFillGetValue :: Expression -> IO Expression
memoryFillGetSize :: Expression -> IO Expression
refIsNullGetValue :: Expression -> IO Expression
refFuncGetFunc :: Expression -> IO (Ptr CChar)
tryGetBody :: Expression -> IO Expression
tryGetCatchBody :: Expression -> IO Expression
throwGetEvent :: Expression -> IO (Ptr CChar)
throwGetOperand :: Expression -> Index -> IO Expression
throwGetNumOperands :: Expression -> IO Index
rethrowGetExnref :: Expression -> IO Expression
brOnExnGetEvent :: Expression -> IO (Ptr CChar)
brOnExnGetName :: Expression -> IO (Ptr CChar)
brOnExnGetExnref :: Expression -> IO Expression
instance Foreign.Storable.Storable Binaryen.Expression.Expression
instance GHC.Show.Show Binaryen.Expression.Expression
instance GHC.Classes.Eq Binaryen.Expression.Expression
-- | Effect analysis.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.SideEffects
newtype SideEffects
SideEffects :: Word32 -> SideEffects
none :: SideEffects
branches :: SideEffects
calls :: SideEffects
readsLocal :: SideEffects
writesLocal :: SideEffects
readsGlobal :: SideEffects
writesGlobal :: SideEffects
readsMemory :: SideEffects
writesMemory :: SideEffects
implicitTrap :: SideEffects
isAtomic :: SideEffects
throws :: SideEffects
any :: SideEffects
getSideEffects :: Expression -> Features -> IO SideEffects
instance Foreign.Storable.Storable Binaryen.SideEffects.SideEffects
instance GHC.Show.Show Binaryen.SideEffects.SideEffects
instance GHC.Classes.Eq Binaryen.SideEffects.SideEffects
-- | Globals.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Global
newtype Global
Global :: Ptr Global -> Global
getName :: Global -> IO (Ptr CChar)
getType :: Global -> IO Type
isMutable :: Global -> IO CInt
getInitExpr :: Global -> IO Expression
importGetModule :: Global -> IO (Ptr CChar)
globalImportGetBase :: Global -> IO (Ptr CChar)
instance Foreign.Storable.Storable Binaryen.Global.Global
instance GHC.Show.Show Binaryen.Global.Global
instance GHC.Classes.Eq Binaryen.Global.Global
-- | Functions.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Function
newtype Function
Function :: Ptr Function -> Function
getName :: Function -> IO (Ptr CChar)
getParams :: Function -> IO Type
getResults :: Function -> IO Type
getNumVars :: Function -> IO Index
getVar :: Function -> Index -> IO Type
getBody :: Function -> IO Expression
setDebugLocation :: Function -> Expression -> Index -> Index -> Index -> IO ()
importGetModule :: Function -> IO (Ptr CChar)
importGetBase :: Function -> IO (Ptr CChar)
optimize :: Function -> Module -> IO ()
runPasses :: Function -> Module -> Ptr (Ptr CChar) -> Index -> IO ()
instance Foreign.Storable.Storable Binaryen.Function.Function
instance GHC.Show.Show Binaryen.Function.Function
instance GHC.Classes.Eq Binaryen.Function.Function
-- | Events.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Event
newtype Event
Event :: Ptr Event -> Event
getName :: Event -> IO (Ptr CChar)
getAttribute :: Event -> IO CInt
getParams :: Event -> IO Type
getResults :: Event -> IO Type
importGetModule :: Event -> IO (Ptr CChar)
eventImportGetBase :: Event -> IO (Ptr CChar)
instance Foreign.Storable.Storable Binaryen.Event.Event
instance GHC.Show.Show Binaryen.Event.Event
instance GHC.Classes.Eq Binaryen.Event.Event
-- | Modules.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Module
newtype Module
Module :: Ptr Module -> Module
create :: IO Module
dispose :: Module -> IO ()
addFunction :: Module -> Ptr CChar -> Type -> Type -> Ptr Type -> Index -> Expression -> IO Function
getFunction :: Module -> Ptr CChar -> IO Function
removeFunction :: Module -> Ptr CChar -> IO ()
getNumFunctions :: Module -> IO Word32
getFunctionByIndex :: Module -> Index -> IO Function
addFunctionImport :: Module -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Type -> Type -> IO ()
addTableImport :: Module -> Ptr CChar -> Ptr CChar -> Ptr CChar -> IO ()
addMemoryImport :: Module -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Word8 -> IO ()
addGlobalImport :: Module -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Type -> CInt -> IO ()
addEventImport :: Module -> Ptr CChar -> Ptr CChar -> Ptr CChar -> Word32 -> Type -> Type -> IO ()
addFunctionExport :: Module -> Ptr CChar -> Ptr CChar -> IO Export
addTableExport :: Module -> Ptr CChar -> Ptr CChar -> IO Export
addMemoryExport :: Module -> Ptr CChar -> Ptr CChar -> IO Export
addGlobalExport :: Module -> Ptr CChar -> Ptr CChar -> IO Export
addEventExport :: Module -> Ptr CChar -> Ptr CChar -> IO Export
removeExport :: Module -> Ptr CChar -> IO ()
addEvent :: Module -> Ptr CChar -> Word32 -> Type -> Type -> IO Event
getEvent :: Module -> Ptr CChar -> IO Event
removeEvent :: Module -> Ptr CChar -> IO ()
setFunctionTable :: Module -> Index -> Index -> Ptr (Ptr CChar) -> Index -> Expression -> IO ()
isFunctionTableImported :: Module -> IO CInt
getNumFunctionTableSegments :: Module -> IO Index
getFunctionTableSegmentOffset :: Module -> Index -> IO Expression
getFunctionTableSegmentLength :: Module -> Index -> IO Index
getFunctionTableSegmentData :: Module -> Index -> Index -> IO (Ptr CChar)
setMemory :: Module -> Index -> Index -> Ptr CChar -> Ptr (Ptr CChar) -> Ptr Int8 -> Ptr Expression -> Ptr Index -> Index -> Word8 -> IO ()
getNumMemorySegments :: Module -> IO Word32
getMemorySegmentByteOffset :: Module -> Index -> IO Word32
getMemorySegmentByteLength :: Module -> Index -> IO CSize
getMemorySegmentPassive :: Module -> Index -> IO CInt
copyMemorySegmentData :: Module -> Index -> Ptr CChar -> IO ()
setStart :: Module -> Function -> IO ()
getFeatures :: Module -> IO Features
setFeatures :: Module -> Features -> IO ()
parse :: Ptr CChar -> IO Module
print :: Module -> IO ()
printAsmjs :: Module -> IO ()
validate :: Module -> IO CInt
optimize :: Module -> IO ()
addCustomSection :: Module -> Ptr CChar -> Ptr CChar -> Index -> IO ()
getNumExports :: Module -> IO Word32
getExportByIndex :: Module -> Index -> IO Export
runPasses :: Module -> Ptr (Ptr CChar) -> Index -> IO ()
autoDrop :: Module -> IO ()
write :: Module -> Ptr CChar -> CSize -> IO CSize
writeText :: Module -> Ptr CChar -> CSize -> IO CSize
allocateAndWriteMut :: Module -> Ptr CChar -> Ptr (Ptr ()) -> Ptr CSize -> Ptr (Ptr CChar) -> IO ()
allocateAndWriteText :: Module -> IO (Ptr CChar)
read :: Ptr CChar -> CSize -> IO Module
interpret :: Module -> IO ()
addDebugInfoFileName :: Module -> Ptr CChar -> IO Index
getDebugInfoFileName :: Module -> Index -> IO (Ptr CChar)
addGlobal :: Module -> Ptr CChar -> Type -> Int8 -> Expression -> IO Global
getGlobal :: Module -> Ptr CChar -> IO Global
removeGlobal :: Module -> Ptr CChar -> IO ()
instance Foreign.Storable.Storable Binaryen.Module.Module
instance GHC.Show.Show Binaryen.Module.Module
instance GHC.Classes.Eq Binaryen.Module.Module
-- | Control flow graph / relooper.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen.Relooper
newtype Relooper
Relooper :: Ptr Relooper -> Relooper
newtype RelooperBlock
RelooperBlock :: Ptr RelooperBlock -> RelooperBlock
create :: Module -> IO Relooper
addBlock :: Relooper -> Expression -> IO RelooperBlock
addBranch :: RelooperBlock -> RelooperBlock -> Expression -> Expression -> IO ()
addBlockWithSwitch :: Relooper -> Expression -> Expression -> IO RelooperBlock
addBranchForSwitch :: RelooperBlock -> RelooperBlock -> Ptr Index -> Index -> Expression -> IO ()
renderAndDispose :: Relooper -> RelooperBlock -> Index -> IO Expression
instance Foreign.Storable.Storable Binaryen.Relooper.Relooper
instance GHC.Show.Show Binaryen.Relooper.Relooper
instance GHC.Classes.Eq Binaryen.Relooper.Relooper
instance GHC.Show.Show Binaryen.Relooper.RelooperBlock
instance GHC.Classes.Eq Binaryen.Relooper.RelooperBlock
-- | Global Binaryen state.
--
-- See
-- https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h
-- for API documentation.
--
-- This module is intended to be imported qualified.
module Binaryen
areColorsEnabled :: IO CInt
setColorsEnabled :: CInt -> IO ()
setOneCallerInlineMaxSize :: Index -> IO ()
getOneCallerInlineMaxSize :: IO Index
setFlexibleInlineMaxSize :: Index -> IO ()
getFlexibleInlineMaxSize :: IO Index
setAlwaysInlineMaxSize :: Index -> IO ()
getAlwaysInlineMaxSize :: IO Index
clearPassArguments :: IO ()
setPassArgument :: Ptr CChar -> Ptr CChar -> IO ()
getPassArgument :: Ptr CChar -> IO (Ptr CChar)
setLowMemoryUnused :: CInt -> IO ()
getLowMemoryUnused :: IO CInt
setDebugInfo :: CInt -> IO ()
getDebugInfo :: IO CInt
setShrinkLevel :: CInt -> IO ()
getShrinkLevel :: IO CInt
setOptimizeLevel :: CInt -> IO ()
getOptimizeLevel :: IO CInt
data Event
data Export
data Expression
data ExpressionId
data ExternalKind
data Features
data Function
data Global
data Index
data Module
data Op
data Relooper
data RelooperBlock
data SideEffects
data Type