-- 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