ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

MkId

Synopsis

- mkDictFunId :: Name -> [TyVar] -> ThetaType -> Class -> [Type] -> Id
- mkDictFunTy :: [TyVar] -> ThetaType -> Class -> [Type] -> Type
- mkDictSelId :: Name -> Class -> Id
- mkDictSelRhs :: Class -> Int -> CoreExpr
- mkPrimOpId :: PrimOp -> Id
- mkFCallId :: DynFlags -> Unique -> ForeignCall -> Type -> Id
- wrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr
- unwrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr
- wrapFamInstBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr
- unwrapFamInstScrut :: TyCon -> [Type] -> CoreExpr -> CoreExpr
- wrapTypeUnbranchedFamInstBody :: CoAxiom Unbranched -> [Type] -> [Coercion] -> CoreExpr -> CoreExpr
- unwrapTypeUnbranchedFamInstScrut :: CoAxiom Unbranched -> [Type] -> [Coercion] -> CoreExpr -> CoreExpr
- newtype DataConBoxer = DCB ([Type] -> [Var] -> UniqSM ([Var], [CoreBind]))
- mkDataConRep :: DynFlags -> FamInstEnvs -> Name -> Maybe [HsImplBang] -> DataCon -> UniqSM DataConRep
- mkDataConWorkId :: Name -> DataCon -> Id
- wiredInIds :: [Id]
- ghcPrimIds :: [Id]
- unsafeCoerceName :: Name
- unsafeCoerceId :: Id
- realWorldPrimId :: Id
- voidPrimId :: Id
- voidArgId :: Id
- nullAddrId :: Id
- seqId :: Id
- lazyId :: Id
- lazyIdKey :: Unique
- runRWId :: Id
- coercionTokenId :: Id
- magicDictId :: Id
- coerceId :: Id
- proxyHashId :: Id
- noinlineId :: Id
- noinlineIdName :: Name
- module PrelRules

# Documentation

mkDictFunId :: Name -> [TyVar] -> ThetaType -> Class -> [Type] -> Id #

mkDictFunTy :: [TyVar] -> ThetaType -> Class -> [Type] -> Type #

mkDictSelId :: Name -> Class -> Id #

mkDictSelRhs :: Class -> Int -> CoreExpr #

mkPrimOpId :: PrimOp -> Id #

mkFCallId :: DynFlags -> Unique -> ForeignCall -> Type -> Id #

wrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr #

unwrapNewTypeBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr #

wrapFamInstBody :: TyCon -> [Type] -> CoreExpr -> CoreExpr #

unwrapFamInstScrut :: TyCon -> [Type] -> CoreExpr -> CoreExpr #

wrapTypeUnbranchedFamInstBody :: CoAxiom Unbranched -> [Type] -> [Coercion] -> CoreExpr -> CoreExpr #

unwrapTypeUnbranchedFamInstScrut :: CoAxiom Unbranched -> [Type] -> [Coercion] -> CoreExpr -> CoreExpr #

newtype DataConBoxer #

Data Constructor Boxer

Constructors

DCB ([Type] -> [Var] -> UniqSM ([Var], [CoreBind])) |

mkDataConRep :: DynFlags -> FamInstEnvs -> Name -> Maybe [HsImplBang] -> DataCon -> UniqSM DataConRep #

mkDataConWorkId :: Name -> DataCon -> Id #

wiredInIds :: [Id] #

ghcPrimIds :: [Id] #

unsafeCoerceName :: Name #

unsafeCoerceId :: Id #

realWorldPrimId :: Id #

voidPrimId :: Id #

voidArgId :: Id #

nullAddrId :: Id #

seqId :: Id #

lazyId :: Id #

lazyIdKey :: Unique #

runRWId :: Id #

coercionTokenId :: Id #

magicDictId :: Id #

coerceId :: Id #

proxyHashId :: Id #

noinlineId :: Id #

noinlineIdName :: Name #

module PrelRules