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

  • Packageghc-9.10.3
  • Exports242
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceTypes.hs

Helper functions defined here

2 declarations

All wired in things

5 declarations

Built-in syntax isn't "in scope" so these OccNames map to wired-in Names with BuiltInSyntax. However, this should only be necessary while resolving names produced by Template Haskell splices since we take care to encode built-in syntax names specially in interface files. See Note [Symbol table representation of names] in GHC.Iface.Binary.

Moreover, there is no need to include names of things that the user can't write (e.g. type representation bindings like $tc(,,,)).

Bool

12 declarations

Ordering

10 declarations

Boxing primitive types

2 declarations
valueboxingDataCon :: Type -> BoxingInfo b
#

Given a type ty, if ty is not of kind Type, return a data constructor that will box it, and the type of the boxed thing, which does now have kind Type. See Note [Boxing constructors]

Char

7 declarations

Double

4 declarations

Float

4 declarations

Int

6 declarations

Word

4 declarations

Word8

3 declarations

List

14 declarations

Maybe

11 declarations

Tuples

26 declarations
valuemkTupleTy :: Boxity -> [Type] -> Type
#

Make a tuple type. The list of types should not include any RuntimeRep specifications. Boxed 1-tuples are flattened. See Note [One-tuples]

valuemkTupleTy1 :: Boxity -> [Type] -> Type
#

Make a tuple type. The list of types should not include any RuntimeRep specifications. Boxed 1-tuples are *not* flattened. See Note [One-tuples] and Note [Don't flatten tuples from HsSyn] in GHC.Core.Make

valuemkBoxedTupleTy :: [Type] -> Type
#

Build the type of a small tuple that holds the specified type of thing Flattens 1-tuples. See Note [One-tuples].

Constraint tuples

Any

4 declarations

Recovery TyCon

1 declaration

Sums

3 declarations

Kinds

24 declarations

Equality predicates

13 declarations

RuntimeRep and friends

11 declarations

Levity

35 declarations

Multiplicity and friends

14 declarations

Bignum

17 declarations

Should this name be considered in-scope, even though it technically isn't?

This ensures that we don't filter out information because, e.g., Data.Kind.Type isn't imported.

See Note [pretendNameIsInScope].