| Safe Haskell | Safe | 
|---|---|
| Language | Haskell98 | 
DDC.Core.Salt.Compounds
Contents
- tVoid :: Type Name
 - tBool :: Type Name
 - tNat :: Type Name
 - tInt :: Type Name
 - tSize :: Type Name
 - tWord :: Int -> Type Name
 - tFloat :: Int -> Type Name
 - tAddr :: Type Name
 - tPtr :: Region Name -> Type Name -> Type Name
 - takeTPtr :: Type Name -> Maybe (Region Name, Type Name)
 - tTextLit :: Type Name
 - tTag :: Type Name
 - tObj :: Type Name
 - xBool :: a -> Bool -> Exp a Name
 - xNat :: a -> Integer -> Exp a Name
 - xInt :: a -> Integer -> Exp a Name
 - xSize :: a -> Integer -> Exp a Name
 - xWord :: a -> Integer -> Int -> Exp a Name
 - xFloat :: a -> Double -> Int -> Exp a Name
 - xTag :: a -> Integer -> Exp a Name
 - xChar :: a -> Char -> Exp a Name
 - xTextLit :: a -> Text -> Exp a Name
 - xNeg :: a -> Type Name -> Exp a Name -> Exp a Name
 - xAdd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xSub :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xMul :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xDiv :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xMod :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xRem :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xEq :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xNeq :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xLt :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xGt :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xLe :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xGe :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xAnd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xShl :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xShr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xBAnd :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xBOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xBXOr :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xConvert :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name
 - xPromote :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name
 - xTruncate :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name
 - xFail :: a -> Type Name -> Exp a Name
 - xReturn :: a -> Type Name -> Exp a Name -> Exp a Name
 - xStoreSize :: a -> Type Name -> Exp a Name
 - xStoreSize2 :: a -> Type Name -> Exp a Name
 - xCreate :: a -> Exp a Name -> Exp a Name
 - xRead :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xWrite :: a -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xPeek :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xPeekBounded :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xPoke :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xPokeBounded :: a -> Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name -> Exp a Name
 - xCastPtr :: a -> Type Name -> Type Name -> Type Name -> Exp a Name -> Exp a Name
 
Types
Values
Literals
Primitive arithmetic operators.
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.
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.
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.