GHC.Tc.Solver.Types

ghc-9.14.0.20251028: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Tc.Solver.Types

Description

Utility types used within the constraint solver

# Documentation

type DictMap a = TcAppMap a Source #

emptyDictMap :: DictMap a Source #

findDictsByTyConKey :: DictMap a -> Unique -> Bag a Source #

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

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

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

dictsToBag :: DictMap a -> Bag a Source #

type FunEqMap a = TcAppMap a Source #

emptyFunEqs :: TcAppMap a 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 :: TcAppMap a -> TyCon -> [Type] -> XT a -> TcAppMap a Source #

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

mapMaybeTcAppMap :: (a -> Maybe b) -> TcAppMap a -> TcAppMap b Source #

tcAppMapToBag :: TcAppMap a -> Bag a Source #

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

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

type EqualCtList = [EqCt] Source #

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

addToEqualCtList :: EqCt -> EqualCtList -> EqualCtList Source #