ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Tc.Solver.Types

Description

Utility types used within the constraint solver

# Documentation

type DictMap a = TcAppMap a Source #

emptyDictMap :: DictMap a Source #

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

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

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

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

foldDicts :: (a -> b -> b) -> DictMap a -> b -> b Source #

filterDicts :: (Ct -> Bool) -> DictMap Ct -> DictMap Ct Source #

findDict :: DictMap a -> CtLoc -> Class -> [Type] -> Maybe a Source #

dictsToBag :: DictMap a -> Bag a Source #

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

type FunEqMap a = TcAppMap a Source #

emptyFunEqs :: TcAppMap a Source #

foldFunEqs :: (a -> b -> b) -> FunEqMap a -> b -> b Source #

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

insertFunEq :: FunEqMap a -> TyCon -> [Type] -> a -> FunEqMap a Source #

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

type TcAppMap a = DTyConEnv (ListMap LooseTypeMap a) Source #

emptyTcAppMap :: TcAppMap a Source #

isEmptyTcAppMap :: TcAppMap a -> Bool Source #

insertTcApp :: TcAppMap a -> TyCon -> [Type] -> a -> TcAppMap a Source #

alterTcApp :: forall a. TcAppMap a -> TyCon -> [Type] -> XT a -> TcAppMap a Source #

filterTcAppMap :: forall a. (a -> Bool) -> TcAppMap a -> TcAppMap a Source #

tcAppMapToBag :: TcAppMap a -> Bag a Source #

foldTcAppMap :: (a -> b -> b) -> TcAppMap a -> b -> b Source #

type EqualCtList = [Ct] Source #

filterEqualCtList :: (Ct -> Bool) -> EqualCtList -> Maybe EqualCtList Source #

addToEqualCtList :: Ct -> EqualCtList -> EqualCtList Source #