Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data BoundInTypes
- boundInTypes :: [TypeParam] -> BoundInTypes
- internaliseReturnType :: TypeBase (DimDecl VName) () -> InternaliseM ([TypeBase ExtShape Uniqueness], ConstParams)
- internaliseEntryReturnType :: TypeBase (DimDecl VName) () -> InternaliseM ([[TypeBase ExtShape Uniqueness]], ConstParams)
- internaliseParamTypes :: BoundInTypes -> Map VName VName -> [TypeBase (DimDecl VName) ()] -> InternaliseM ([[TypeBase ExtShape Uniqueness]], ConstParams)
- internaliseType :: TypeBase () () -> InternaliseM [TypeBase ExtShape Uniqueness]
- internalisePrimType :: PrimType -> PrimType
- internalisedTypeSize :: TypeBase dim () -> InternaliseM Int
- internalisePrimValue :: PrimValue -> PrimValue
Internalising types
data BoundInTypes Source #
The names that are bound for some types, either implicitly or explicitly.
Instances
Semigroup BoundInTypes Source # | |
Defined in Futhark.Internalise.TypesValues (<>) :: BoundInTypes -> BoundInTypes -> BoundInTypes # sconcat :: NonEmpty BoundInTypes -> BoundInTypes # stimes :: Integral b => b -> BoundInTypes -> BoundInTypes # | |
Monoid BoundInTypes Source # | |
Defined in Futhark.Internalise.TypesValues mempty :: BoundInTypes # mappend :: BoundInTypes -> BoundInTypes -> BoundInTypes # mconcat :: [BoundInTypes] -> BoundInTypes # |
boundInTypes :: [TypeParam] -> BoundInTypes Source #
Determine the names bound for some types.
internaliseReturnType :: TypeBase (DimDecl VName) () -> InternaliseM ([TypeBase ExtShape Uniqueness], ConstParams) Source #
internaliseEntryReturnType :: TypeBase (DimDecl VName) () -> InternaliseM ([[TypeBase ExtShape Uniqueness]], ConstParams) Source #
As internaliseReturnType
, but returns components of a top-level
tuple type piecemeal.
internaliseParamTypes :: BoundInTypes -> Map VName VName -> [TypeBase (DimDecl VName) ()] -> InternaliseM ([[TypeBase ExtShape Uniqueness]], ConstParams) Source #
internaliseType :: TypeBase () () -> InternaliseM [TypeBase ExtShape Uniqueness] Source #
internalisePrimType :: PrimType -> PrimType Source #
Convert an external primitive to an internal primitive.
internalisedTypeSize :: TypeBase dim () -> InternaliseM Int Source #
How many core language values are needed to represent one source language value of the given type?
Internalising values
internalisePrimValue :: PrimValue -> PrimValue Source #
Convert an external primitive value to an internal primitive value.