ghc-7.6.3: The GHC API

Safe Haskell | None

TcUnify

# Documentation

tcWrapResult :: HsExpr TcId -> TcRhoType -> TcRhoType -> TcM (HsExpr TcId)

tcSubType :: CtOrigin -> UserTypeCtxt -> TcSigmaType -> TcSigmaType -> TcM HsWrapper

tcGen :: UserTypeCtxt -> TcType -> ([TcTyVar] -> TcRhoType -> TcM result) -> TcM (HsWrapper, result)

checkConstraints :: SkolemInfo -> [TcTyVar] -> [EvVar] -> TcM result -> TcM (TcEvBinds, result)

newImplication :: SkolemInfo -> [TcTyVar] -> [EvVar] -> TcM result -> TcM (TcEvBinds, result)

unifyType :: TcTauType -> TcTauType -> TcM TcCoercion

unifyTypeList :: [TcTauType] -> TcM ()

unifyTheta :: TcThetaType -> TcThetaType -> TcM [TcCoercion]

unifyKind :: TcKind -> TcKind -> TcM Ordering

unifyKindEq :: TcKind -> TcKind -> TcM ()

tcInfer :: (TcType -> TcM a) -> TcM (a, TcType)

matchExpectedListTy :: TcRhoType -> TcM (TcCoercion, TcRhoType)

matchExpectedPArrTy :: TcRhoType -> TcM (TcCoercion, TcRhoType)

matchExpectedTyConApp :: TyCon -> TcRhoType -> TcM (TcCoercion, [TcSigmaType])

matchExpectedAppTy :: TcRhoType -> TcM (TcCoercion, (TcSigmaType, TcSigmaType))

matchExpectedFunTys :: SDoc -> Arity -> TcRhoType -> TcM (TcCoercion, [TcSigmaType], TcRhoType)

matchExpectedFunKind :: TcKind -> TcM (Maybe (TcKind, TcKind))

wrapFunResCoercion :: [TcType] -> HsWrapper -> TcM HsWrapper

mkKindErrorCtxt :: Type -> Type -> Kind -> Kind -> TidyEnv -> TcM (TidyEnv, SDoc)