HORIZON HASKELLDocslts/ghc-9.14.x7a6c33e2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 7a6c33e · 2026-10-12

Moduleghc-tcplugin-api-0.20.1.0Haskell2010

GHC.Builtins

Helper umbrella re-exports of various known entities to GHC: known-key uniques, wired-in types.

Contents
  1. Known-key uniques
  2. Custom type errors (prefer using GHC.TcPlugin.API.mkTcPluginErrorTy)
  3. Equality and coercions
  4. Kinds
  5. Runtime representations, levities and multiplicities
  6. Wired-in types
  7. Tuples and sums
  8. Type-level literals
  9. Primitive types
Synopsis

Known-key uniques

Custom type errors (prefer using GHC.TcPlugin.API.mkTcPluginErrorTy)

Equality and coercions

Kinds

valuefUNTyCon :: TyCon

The FUN type constructor.

FUN :: forall (m :: Multiplicity) ->
       forall {rep1 :: RuntimeRep} {rep2 :: RuntimeRep}.
       TYPE rep1 -> TYPE rep2 -> Type

The runtime representations quantification is left inferred. This means they cannot be specified with -XTypeApplications.

This is a deliberate choice to allow future extensions to the function arrow.

Runtime representations, levities and multiplicities

Wired-in types

Tuples and sums

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]

valuemkBoxedTupleTy :: [Type] -> Type

Build the type of a small tuple that holds the specified type of thing Flattens 1-tuples. 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

Type-level literals

Primitive types