Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Avails = [AvailInfo]
- data AvailInfo
- data IsPatSyn
- avail :: Name -> AvailInfo
- patSynAvail :: Name -> AvailInfo
- availsToNameSet :: [AvailInfo] -> NameSet
- availsToNameSetWithSelectors :: [AvailInfo] -> NameSet
- availsToNameEnv :: [AvailInfo] -> NameEnv AvailInfo
- availName :: AvailInfo -> Name
- availNames :: AvailInfo -> [Name]
- availNonFldNames :: AvailInfo -> [Name]
- availNamesWithSelectors :: AvailInfo -> [Name]
- availFlds :: AvailInfo -> [FieldLabel]
- stableAvailCmp :: AvailInfo -> AvailInfo -> Ordering
Documentation
Records what things are "available", i.e. in scope
Avail IsPatSyn Name | An ordinary identifier in scope |
AvailTC Name [Name] [FieldLabel] | A type or class in scope. Parameters: 1) The name of the type or class 2) The available pieces of type or class, excluding field selectors. 3) The record fields of the type (see Note [Representing fields in AvailInfo]). The AvailTC Invariant:
* If the type or class is itself
to be in scope, it must be
*first* in this list. Thus,
typically: |
patSynAvail :: Name -> AvailInfo Source #
availsToNameSet :: [AvailInfo] -> NameSet Source #
availName :: AvailInfo -> Name Source #
Just the main name made available, i.e. not the available pieces
of type or class brought into scope by the GenAvailInfo
availNames :: AvailInfo -> [Name] Source #
All names made available by the availability information (excluding overloaded selectors)
availNonFldNames :: AvailInfo -> [Name] Source #
Names for non-fields made available by the availability information
availNamesWithSelectors :: AvailInfo -> [Name] Source #
All names made available by the availability information (including overloaded selectors)
availFlds :: AvailInfo -> [FieldLabel] Source #
Fields made available by the availability information