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.Iface.Type

  • 32 types
  • 48 values
  • Packageghc-9.10.3
  • Exports82
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceType.hs
datadata IfaceType
#
Instances4NFData, Outputable, Binary
datadata IfaceCoercion
#
Instances3NFData, Outputable, Binary
datadata IfaceTyConSort
#

The various types of TyCons which have special, built-in syntax.

Constructors

  • IfaceNormalTyCon

    a regular tycon

  • IfaceTupleTyCon !Arity !TupleSort

    a tuple, e.g. (a, b, c) or (#a, b, c#). The arity is the tuple width, not the tycon arity (which is twice the width in the case of unboxed tuples).

  • IfaceSumTyCon !Arity

    an unboxed sum, e.g. (# a | b | c #)

  • IfaceEqualityTyCon

    A heterogeneous equality TyCon (i.e. eqPrimTyCon, eqReprPrimTyCon, heqTyCon) that is actually being applied to two types of the same kind. This affects pretty-printing only: see Note [Equality predicates in IfaceType]

Instances4Eq, NFData, Outputable, Binary
datadata IfaceAppArgs
#

Stores the arguments in a type application as a list. See Note [Suppressing invisible arguments].

Instances5Semigroup, Monoid, NFData, Outputable, Binary
datadata ForAllTyFlag
#

ForAllTyFlag

Is something required to appear in source Haskell (Required), permitted by request (Specified) (visible type application), or prohibited entirely from appearing in source Haskell (Inferred)? See Note [VarBndrs, ForAllTyBinders, TyConBinders, and visibility] in GHC.Core.TyCo.Rep

Instances7Eq, Data, Ord, NFData, Binary, Outputable, …
datadata FunTyFlag
#

The non-dependent version of ForAllTyFlag. See Note [FunTyFlag] Appears here partly so that it's together with its friends ForAllTyFlag and ForallVisFlag, but also because it is used in IfaceType, rather early in the compilation chain

Instances5Eq, Data, Ord, Outputable, Binary
datadata ShowHowMuch
#

Constructors

  • ShowHeader AltPpr

    Header information only, not rhs

  • ShowSome (Maybe (OccName -> Bool)) AltPpr

    Show the declaration and its RHS. The Maybe predicate allows filtering of the sub-components which should be printing; any sub-components filtered out will be elided with ....

  • ShowIface

    Everything including GHC-internal information (used in --show-iface)

Instances1Outputable

Prints "(C a, D b) =>", including the arrow. Used when we want to print a context in a type, so we use funPrec to decide whether to parenthesise a singleton predicate; e.g. Num a => a -> a