Safe Haskell | None |
---|---|
Language | GHC2021 |
GHC.Types.DefaultEnv
Synopsis
- data ClassDefaults = ClassDefaults {
- cd_class :: Class
- cd_types :: [Type]
- cd_provenance :: DefaultProvenance
- cd_warn :: Maybe (WarningTxt GhcRn)
- data DefaultProvenance
- = DP_Local { }
- | DP_Builtin
- | DP_Imported Module
- type DefaultEnv = NameEnv ClassDefaults
- emptyDefaultEnv :: DefaultEnv
- isEmptyDefaultEnv :: DefaultEnv -> Bool
- defaultEnv :: [ClassDefaults] -> DefaultEnv
- unitDefaultEnv :: ClassDefaults -> DefaultEnv
- lookupDefaultEnv :: DefaultEnv -> Name -> Maybe ClassDefaults
- filterDefaultEnv :: (ClassDefaults -> Bool) -> DefaultEnv -> DefaultEnv
- defaultList :: DefaultEnv -> [ClassDefaults]
- plusDefaultEnv :: DefaultEnv -> DefaultEnv -> DefaultEnv
- mkDefaultEnv :: [(Name, ClassDefaults)] -> DefaultEnv
- insertDefaultEnv :: ClassDefaults -> DefaultEnv -> DefaultEnv
- isHaskell2010Default :: DefaultProvenance -> Bool
Documentation
data ClassDefaults Source #
Defaulting type assignments for the given class.
Constructors
ClassDefaults | |
Fields
|
Instances
Outputable ClassDefaults Source # | |
Defined in GHC.Types.DefaultEnv Methods ppr :: ClassDefaults -> SDoc Source # | |
Data ClassDefaults Source # | |
Defined in GHC.Types.DefaultEnv Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClassDefaults -> c ClassDefaults # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClassDefaults # toConstr :: ClassDefaults -> Constr # dataTypeOf :: ClassDefaults -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClassDefaults) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClassDefaults) # gmapT :: (forall b. Data b => b -> b) -> ClassDefaults -> ClassDefaults # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClassDefaults -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClassDefaults -> r # gmapQ :: (forall d. Data d => d -> u) -> ClassDefaults -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ClassDefaults -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClassDefaults -> m ClassDefaults # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClassDefaults -> m ClassDefaults # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClassDefaults -> m ClassDefaults # |
data DefaultProvenance Source #
The provenance of a collection of default types for a class. see Note [DefaultProvenance] for more details
Constructors
DP_Local | A locally defined default declaration. |
Fields
| |
DP_Builtin | Built-in class defaults. |
DP_Imported | Imported class defaults. |
Fields
|
Instances
type DefaultEnv = NameEnv ClassDefaults Source #
Default environment mapping class name Name
to their default type lists
NB: this includes Haskell98 default declarations, at the Num
key.
isEmptyDefaultEnv :: DefaultEnv -> Bool Source #
defaultEnv :: [ClassDefaults] -> DefaultEnv Source #
lookupDefaultEnv :: DefaultEnv -> Name -> Maybe ClassDefaults Source #
filterDefaultEnv :: (ClassDefaults -> Bool) -> DefaultEnv -> DefaultEnv Source #
defaultList :: DefaultEnv -> [ClassDefaults] Source #
plusDefaultEnv :: DefaultEnv -> DefaultEnv -> DefaultEnv Source #
mkDefaultEnv :: [(Name, ClassDefaults)] -> DefaultEnv Source #
Create a DefaultEnv
from a list of (Name, ClassDefaults) pairs
it is useful if we don't want to poke into the ClassDefaults
structure
to get the Name
of the class, it can be problematic, see #25858
insertDefaultEnv :: ClassDefaults -> DefaultEnv -> DefaultEnv Source #