ghc-8.0.1: The GHC API

Safe HaskellNone
LanguageHaskell2010

Avail

Synopsis

Documentation

type Avails = [AvailInfo] Source #

A collection of AvailInfo - several things that are "available"

data AvailInfo Source #

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

Constructors

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: AvailTC Eq [Eq, ==, /=]

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

stableAvailCmp :: AvailInfo -> AvailInfo -> Ordering Source #

Compare lexicographically