Safe Haskell | None |
---|---|
Language | Haskell98 |
TcEvidence
Documentation
data HsWrapper
mkWpTyApps :: [Type] -> HsWrapper
mkWpEvApps :: [EvTerm] -> HsWrapper
mkWpEvVarApps :: [EvVar] -> HsWrapper
mkWpTyLams :: [TyVar] -> HsWrapper
mkWpCast :: TcCoercion -> 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
data EvLit
Constructors
EvNum Integer | |
EvStr FastString |
evTermCoercion :: EvTerm -> TcCoercion
data TcCoercion
Constructors
Instances
data LeftOrRight
pickLR :: LeftOrRight -> (a, a) -> a
mkTcReflCo :: Role -> TcType -> TcCoercion
mkTcNomReflCo :: TcType -> TcCoercion
mkTcTyConAppCo :: Role -> TyCon -> [TcCoercion] -> TcCoercion
mkTcAppCo :: TcCoercion -> TcCoercion -> TcCoercion
mkTcAppCos :: TcCoercion -> [TcCoercion] -> TcCoercion
mkTcFunCo :: Role -> TcCoercion -> TcCoercion -> TcCoercion
mkTcAxInstCo :: Role -> CoAxiom br -> Int -> [TcType] -> TcCoercion
mkTcUnbranchedAxInstCo :: Role -> CoAxiom Unbranched -> [TcType] -> TcCoercion
mkTcForAllCo :: Var -> TcCoercion -> TcCoercion
mkTcForAllCos :: [Var] -> TcCoercion -> TcCoercion
mkTcSymCo :: TcCoercion -> TcCoercion
mkTcTransCo :: TcCoercion -> TcCoercion -> TcCoercion
mkTcNthCo :: Int -> TcCoercion -> TcCoercion
mkTcLRCo :: LeftOrRight -> TcCoercion -> TcCoercion
mkTcSubCo :: TcCoercion -> TcCoercion
mkTcAxiomRuleCo :: CoAxiomRule -> [TcType] -> [TcCoercion] -> TcCoercion
tcCoercionKind :: TcCoercion -> Pair Type
coVarsOfTcCo :: TcCoercion -> VarSet
mkTcCoVarCo :: EqVar -> TcCoercion
isTcReflCo :: TcCoercion -> Bool
getTcCoVar_maybe :: TcCoercion -> Maybe CoVar
tcCoercionRole :: TcCoercion -> Role