Safe Haskell | None |
---|
TcEvidence
Documentation
data HsWrapper
mkWpTyApps :: [Type] -> HsWrapper
mkWpEvApps :: [EvTerm] -> HsWrapper
mkWpEvVarApps :: [EvVar] -> HsWrapper
mkWpTyLams :: [TyVar] -> HsWrapper
isIdHsWrapper :: HsWrapper -> Bool
pprHsWrapper :: SDoc -> HsWrapper -> SDoc
extendEvBinds :: EvBindMap -> EvVar -> EvTerm -> EvBindMap
lookupEvBind :: EvBindMap -> EvVar -> Maybe EvBind
evBindMapBinds :: EvBindMap -> Bag EvBind
isEmptyTcEvBinds :: TcEvBinds -> Bool
data EvTerm
Constructors
EvId EvId | |
EvCoercion TcCoercion | |
EvCast EvVar TcCoercion | |
EvDFunApp DFunId [Type] [EvVar] | |
EvTupleSel EvId Int | |
EvTupleMk [EvId] | |
EvSuperClass DictId Int |
mkEvCast :: EvVar -> TcCoercion -> EvTerm
evVarsOfTerm :: EvTerm -> [EvVar]
data TcCoercion
Constructors
Instances
mkTcReflCo :: TcType -> TcCoercion
mkTcTyConAppCo :: TyCon -> [TcCoercion] -> TcCoercion
mkTcAppCo :: TcCoercion -> TcCoercion -> TcCoercion
mkTcAppCos :: TcCoercion -> [TcCoercion] -> TcCoercion
mkTcFunCo :: TcCoercion -> TcCoercion -> TcCoercion
mkTcAxInstCo :: CoAxiom -> [TcType] -> TcCoercion
mkTcForAllCo :: Var -> TcCoercion -> TcCoercion
mkTcForAllCos :: [Var] -> TcCoercion -> TcCoercion
mkTcSymCo :: TcCoercion -> TcCoercion
mkTcTransCo :: TcCoercion -> TcCoercion -> TcCoercion
mkTcNthCo :: Int -> TcCoercion -> TcCoercion
mkTcInstCos :: TcCoercion -> [TcType] -> TcCoercion
tcCoercionKind :: TcCoercion -> Pair Type
coVarsOfTcCo :: TcCoercion -> VarSet
mkTcCoVarCo :: EqVar -> TcCoercion
isTcReflCo :: TcCoercion -> Bool
getTcCoVar_maybe :: TcCoercion -> Maybe CoVar
liftTcCoSubstWith :: [TyVar] -> [TcCoercion] -> TcType -> TcCoercion