ghc-7.8.3: The GHC API

Safe HaskellNone
LanguageHaskell98

TcSMonad

Synopsis

Documentation

data WorkList

Constructors

WorkList 

Fields

wl_eqs :: [Ct]
 
wl_funeqs :: Deque Ct
 
wl_rest :: [Ct]
 

Instances

type Xi = Type

runTcS :: TcS a -> TcM (a, Bag EvBind)

failTcS :: SDoc -> TcS a

panicTcS :: SDoc -> TcS a

traceTcS :: String -> SDoc -> TcS ()

traceFireTcS :: Ct -> SDoc -> TcS ()

tryTcS :: TcS a -> TcS a

nestTcS :: TcS a -> TcS a

recoverTcS :: TcS a -> TcS a -> TcS a

wrapErrTcS :: TcM a -> TcS a

wrapWarnTcS :: TcM a -> TcS a

getGivenInfo :: TcS a -> TcS (Bool, [TcTyVar], a)

data XEvTerm

Constructors

XEvTerm 

Fields

ev_preds :: [PredType]
 
ev_comp :: [EvTerm] -> EvTerm
 
ev_decomp :: EvTerm -> [EvTerm]
 

newWantedEvVarNonrec :: CtLoc -> TcPredType -> TcS MaybeNew

Variant of newWantedEvVar that has a lower bound on the depth of the result (see Note [Preventing recursive dictionaries])

data Deque a

Constructors

DQ [a] [a] 

Instances

insertDeque :: a -> Deque a -> Deque a

type EqualCtList = [Ct]

findFunEq :: FunEqMap a -> TyCon -> [Type] -> Maybe a

findDict :: DictMap a -> Class -> [Type] -> Maybe a

findDictsByClass :: DictMap a -> Class -> Bag a

addDict :: DictMap a -> Class -> [Type] -> a -> DictMap a

addDictsByClass :: DictMap Ct -> Class -> Bag Ct -> DictMap Ct

delDict :: DictMap a -> Class -> [Type] -> DictMap a

partitionDicts :: (Ct -> Bool) -> DictMap Ct -> (Bag Ct, DictMap Ct)

findFunEqsByTyCon :: FunEqMap [a] -> TyCon -> [a]

findFunEqs :: FunEqMap [a] -> TyCon -> [Type] -> [a]

addFunEq :: FunEqMap EqualCtList -> TyCon -> [Type] -> Ct -> FunEqMap EqualCtList

replaceFunEqs :: FunEqMap EqualCtList -> TyCon -> [Type] -> Ct -> FunEqMap EqualCtList

partitionFunEqs :: (Ct -> Bool) -> FunEqMap EqualCtList -> (Bag Ct, FunEqMap EqualCtList)