ghc-9.10.3: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.Tc.Instance.FunDeps

Description

Functional dependencies

It's better to read it as: "if we know these, then we're going to know these"

# Documentation

data FunDepEqn loc Source #

Constructors

FDEqn |

Fields

- fd_qtvs :: [TyVar]
- fd_eqs :: [TypeEqn]
- fd_pred1 :: PredType
- fd_pred2 :: PredType
- fd_loc :: loc

#### Instances

Instances details

Functor FunDepEqn Source # |
Instance details Defined in GHC.Tc.Instance.FunDeps Methods fmap :: (a -> b) -> FunDepEqn a -> FunDepEqn b # (<$) :: a -> FunDepEqn b -> FunDepEqn a #
Outputable (FunDepEqn a) Source # |
Instance details Defined in GHC.Tc.Instance.FunDeps Methods ppr :: FunDepEqn a -> SDoc Source #

pprEquation :: FunDepEqn a -> SDoc Source #

improveFromInstEnv :: InstEnvs -> (PredType -> SrcSpan -> loc) -> Class -> [Type] -> [FunDepEqn loc] Source #

improveFromAnother :: loc -> PredType -> PredType -> [FunDepEqn loc] Source #

checkInstCoverage :: Bool -> Class -> [PredType] -> [Type] -> Validity' CoverageProblem Source #

checkFunDeps :: InstEnvs -> ClsInst -> [ClsInst] Source #

pprFundeps :: Outputable a => [FunDep a] -> SDoc Source #

instFD :: FunDep TyVar -> [TyVar] -> [Type] -> FunDep Type Source #

closeWrtFunDeps :: [PredType] -> TyCoVarSet -> TyCoVarSet Source #