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
mkEvCast :: EvTerm -> TcCoercion -> EvTerm
evVarsOfTerm :: EvTerm -> VarSet
mkEvKindCast :: EvTerm -> TcCoercion -> EvTerm
data EvLit
Constructors
EvNum Integer | |
EvStr FastString |
evTermCoercion :: EvTerm -> TcCoercion
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