ddc-core-salt-0.4.2.1: Disciplined Disciple Compiler C code generator.

Safe HaskellNone
LanguageHaskell98

DDC.Core.Salt.Compounds

Contents

Synopsis

Types

Values

Literals

xBool :: a -> Bool -> Exp a Name Source

xNat :: a -> Integer -> Exp a Name Source

xInt :: a -> Integer -> Exp a Name Source

xSize :: a -> Integer -> Exp a Name Source

xWord :: a -> Integer -> Int -> Exp a Name Source

xFloat :: a -> Double -> Int -> Exp a Name Source

xTag :: a -> Integer -> Exp a Name Source

xTextLit :: a -> Text -> Exp a Name Source

A Text literal.

Primitive arithmetic operators.

xNeg :: a -> Type Name -> Exp a Name -> Exp a Name Source

xAdd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xSub :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xMul :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xDiv :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xMod :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xRem :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xEq :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xNeq :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xLt :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xGt :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xLe :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xGe :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xAnd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xShl :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xShr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xBAnd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xBOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

xBXOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Primitive cast operators.

xConvert :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name Source

Convert a value to a similarly sized type.

xPromote :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name Source

Promote a value to a wider type.

xTruncate :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name Source

Truncate a value to a narrower type.

Primitive control operators.

xFail :: a -> Type Name -> Exp a Name Source

Fail with an internal error.

xReturn :: a -> Type Name -> Exp a Name -> Exp a Name Source

Return a value.

Primitive store operators.

xStoreSize :: a -> Type Name -> Exp a Name Source

Take the number of bytes needed to store a value of a primitive type.

xStoreSize2 :: a -> Type Name -> Exp a Name Source

Log2 of the number of bytes needed to store a value of primitive type.

xCreate :: a -> Exp a Name -> Exp a Name Source

Create the heap.

xRead :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Read a value from an address plus offset.

xWrite :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Write a value to an address plus offset.

xPeek :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Peek a value from a buffer pointer plus offset.

xPeekBounded :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Peek a value from a buffer pointer plus offset.

xPoke :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Poke a value from a buffer pointer plus offset.

xPokeBounded :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name Source

Poke a value from a buffer pointer plus offset.

xCastPtr :: a -> Type Name -> Type Name -> Type Name -> Exp a Name -> Exp a Name Source

Cast a pointer to a different element ype.