| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Core.Class
Synopsis
- data Class
 - type ClassOpItem = (Id, DefMethInfo)
 - data ClassATItem = ATI TyCon (Maybe (Type, ATValidityInfo))
 - data ATValidityInfo
 - type ClassMinimalDef = BooleanFormula Name
 - type DefMethInfo = Maybe (Name, DefMethSpec Type)
 - pprDefMethInfo :: DefMethInfo -> SDoc
 - type FunDep a = ([a], [a])
 - pprFundeps :: Outputable a => [FunDep a] -> SDoc
 - pprFunDep :: Outputable a => FunDep a -> SDoc
 - mkClass :: Name -> [TyVar] -> [FunDep TyVar] -> [PredType] -> [Id] -> [ClassATItem] -> [ClassOpItem] -> ClassMinimalDef -> TyCon -> Class
 - mkAbstractClass :: Name -> [TyVar] -> [FunDep TyVar] -> TyCon -> Class
 - classTyVars :: Class -> [TyVar]
 - classArity :: Class -> Arity
 - classKey :: Class -> Unique
 - className :: Class -> Name
 - classATs :: Class -> [TyCon]
 - classATItems :: Class -> [ClassATItem]
 - classTyCon :: Class -> TyCon
 - classMethods :: Class -> [Id]
 - classOpItems :: Class -> [ClassOpItem]
 - classBigSig :: Class -> ([TyVar], [PredType], [Id], [ClassOpItem])
 - classExtraBigSig :: Class -> ([TyVar], [FunDep TyVar], [PredType], [Id], [ClassATItem], [ClassOpItem])
 - classTvsFds :: Class -> ([TyVar], [FunDep TyVar])
 - classSCTheta :: Class -> [PredType]
 - classHasSCs :: Class -> Bool
 - classAllSelIds :: Class -> [Id]
 - classSCSelId :: Class -> Int -> Id
 - classSCSelIds :: Class -> [Id]
 - classMinimalDef :: Class -> ClassMinimalDef
 - classHasFds :: Class -> Bool
 - isAbstractClass :: Class -> Bool
 
Documentation
Instances
| Data Class Source # | |
Defined in GHC.Core.Class Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Class -> c Class Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Class Source # toConstr :: Class -> Constr Source # dataTypeOf :: Class -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Class) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Class) Source # gmapT :: (forall b. Data b => b -> b) -> Class -> Class Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Class -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Class -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Class -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Class -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Class -> m Class Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Class -> m Class Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Class -> m Class Source #  | |
| NamedThing Class Source # | |
| Uniquable Class Source # | |
| Outputable Class Source # | |
| Eq Class Source # | |
type ClassOpItem = (Id, DefMethInfo) Source #
data ClassATItem Source #
Constructors
| ATI TyCon (Maybe (Type, ATValidityInfo)) | 
data ATValidityInfo Source #
Information about an associated type family default implementation. This
 is used solely for validity checking.
 See Note [Type-checking default assoc decls] in GHC.Tc.TyCl.
type ClassMinimalDef = BooleanFormula Name Source #
type DefMethInfo = Maybe (Name, DefMethSpec Type) Source #
pprDefMethInfo :: DefMethInfo -> SDoc Source #
pprFundeps :: Outputable a => [FunDep a] -> SDoc Source #
mkClass :: Name -> [TyVar] -> [FunDep TyVar] -> [PredType] -> [Id] -> [ClassATItem] -> [ClassOpItem] -> ClassMinimalDef -> TyCon -> Class Source #
classTyVars :: Class -> [TyVar] Source #
classArity :: Class -> Arity Source #
classATItems :: Class -> [ClassATItem] Source #
classTyCon :: Class -> TyCon Source #
classMethods :: Class -> [Id] Source #
classOpItems :: Class -> [ClassOpItem] Source #
classBigSig :: Class -> ([TyVar], [PredType], [Id], [ClassOpItem]) Source #
classExtraBigSig :: Class -> ([TyVar], [FunDep TyVar], [PredType], [Id], [ClassATItem], [ClassOpItem]) Source #
classSCTheta :: Class -> [PredType] Source #
classHasSCs :: Class -> Bool Source #
classAllSelIds :: Class -> [Id] Source #
classSCSelIds :: Class -> [Id] Source #
classHasFds :: Class -> Bool Source #
isAbstractClass :: Class -> Bool Source #