Safe Haskell | None |
---|
- dsCCall :: CLabelString -> [CoreExpr] -> Safety -> Type -> DsM CoreExpr
- mkFCall :: DynFlags -> Unique -> ForeignCall -> [CoreExpr] -> Type -> CoreExpr
- unboxArg :: CoreExpr -> DsM (CoreExpr, CoreExpr -> CoreExpr)
- boxResult :: Type -> DsM (Type, CoreExpr -> CoreExpr)
- resultWrapper :: Type -> DsM (Maybe Type, CoreExpr -> CoreExpr)
- splitDataProductType_maybe :: Type -> Maybe (TyCon, [Type], DataCon, [Type])
Documentation
splitDataProductType_maybeSource
Extract the type constructor, type argument, data constructor and it's representation argument types from a type if it is a product type.
Precisely, we return Just
for any type that is all of:
- Concrete (i.e. constructors visible)
- Single-constructor
- Not existentially quantified
Whether the type is a data
type or a newtype