MkId

ghc-8.4.0.20180224: 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 Source #

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

mkDictSelId :: Name -> Class -> Id Source #

mkDictSelRhs :: Class -> Int -> CoreExpr Source #

mkPrimOpId :: PrimOp -> Id Source #

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

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

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

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

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

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

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

newtype DataConBoxer Source #

Data Constructor Boxer

Constructors

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

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

mkDataConWorkId :: Name -> DataCon -> Id Source #

wiredInIds :: [Id] Source #

ghcPrimIds :: [Id] Source #

unsafeCoerceName :: Name Source #

unsafeCoerceId :: Id Source #

realWorldPrimId :: Id Source #

voidPrimId :: Id Source #

voidArgId :: Id Source #

nullAddrId :: Id Source #

seqId :: Id Source #

lazyId :: Id Source #

lazyIdKey :: Unique Source #

runRWId :: Id Source #

coercionTokenId :: Id Source #

magicDictId :: Id Source #

coerceId :: Id Source #

proxyHashId :: Id Source #

noinlineId :: Id Source #

noinlineIdName :: Name Source #

module PrelRules