Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Synopsis
- internaliseReturnType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase ExtShape Uniqueness]
- internaliseLambdaReturnType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase Shape NoUniqueness]
- internaliseEntryReturnType :: TypeBase (DimDecl VName) () -> InternaliseM [[TypeBase ExtShape Uniqueness]]
- internaliseType :: TypeBase (DimDecl VName) () -> InternaliseM [TypeBase ExtShape Uniqueness]
- internaliseParamTypes :: [TypeBase (DimDecl VName) ()] -> InternaliseM [[TypeBase Shape Uniqueness]]
- internaliseLoopParamType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase Shape Uniqueness]
- internalisePrimType :: PrimType -> PrimType
- internalisedTypeSize :: TypeBase (DimDecl VName) () -> InternaliseM Int
- internaliseSumType :: Map Name [StructType] -> InternaliseM ([TypeBase ExtShape Uniqueness], Map Name (Int, [Int]))
- internalisePrimValue :: PrimValue -> PrimValue
Internalising types
internaliseReturnType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase ExtShape Uniqueness] Source #
internaliseLambdaReturnType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase Shape NoUniqueness] Source #
internaliseEntryReturnType :: TypeBase (DimDecl VName) () -> InternaliseM [[TypeBase ExtShape Uniqueness]] Source #
As internaliseReturnType
, but returns components of a top-level
tuple type piecemeal.
internaliseType :: TypeBase (DimDecl VName) () -> InternaliseM [TypeBase ExtShape Uniqueness] Source #
internaliseParamTypes :: [TypeBase (DimDecl VName) ()] -> InternaliseM [[TypeBase Shape Uniqueness]] Source #
internaliseLoopParamType :: TypeBase (DimDecl VName) () -> [TypeBase shape u] -> InternaliseM [TypeBase Shape Uniqueness] Source #
internalisePrimType :: PrimType -> PrimType Source #
Convert an external primitive to an internal primitive.
internalisedTypeSize :: TypeBase (DimDecl VName) () -> InternaliseM Int Source #
How many core language values are needed to represent one source language value of the given type?
internaliseSumType :: Map Name [StructType] -> InternaliseM ([TypeBase ExtShape Uniqueness], Map Name (Int, [Int])) Source #
Internalising values
internalisePrimValue :: PrimValue -> PrimValue Source #
Convert an external primitive value to an internal primitive value.