HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleghc-9.10.3GHC2021

GHC.Types.Avail

  • 2 types
  • 12 values
  • Packageghc-9.10.3
  • Exports14
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceAvail.hs
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