HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Moduleghc-lib-parser-9.14.1.20251220GHC2021

GHC.Types.Avail

  • 3 types
  • 14 values
datadata AvailInfo
#

Records what things are "available", i.e. in scope

Constructors

  • Avail Name

    An ordinary identifier in scope, or a field label without a parent type (see Note [Representing pattern synonym fields in AvailInfo]).

  • AvailTC Name [Name]

    A type or class in scope

    The AvailTC Invariant: If the type or class is itself to be in scope, it must be first in this list. Thus, typically:

    AvailTC Eq [Eq, ==, \/=]
Instances4Data, NFData, Outputable, Binary
valuenubAvails :: [AvailInfo] -> [AvailInfo]
#

Combines AvailInfos from the same family avails may have several items with the same availName E.g import Ix( Ix(..), index ) will give Ix(Ix,index,range) and Ix(index) We want to combine these; plusAvail does that

newtypenewtype DetOrdAvails
#

Occurrences of Avails in interface files must be deterministically ordered to guarantee interface file determinism.

We guarantee a deterministic order by either using the order explicitly given by the user (e.g. in an explicit constructor export list) or instead by sorting the avails with sortAvails.

Instances5Eq, Ord, NFData, Outputable, Binary