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
Synopsis
- value hasKey
- value eqTyConKey
- value heqTyConKey
- value coercibleTyConKey
- value eqPrimTyConKey
- value eqReprPrimTyConKey
- value eqPhantPrimTyConKey
- value errorMessageTypeErrorFamName
- value typeErrorTextDataConName
- value typeErrorShowTypeDataConName
- value typeErrorAppendDataConName
- value typeErrorVAppendDataConName
- value eqTyCon
- value heqTyCon
- value coercibleTyCon
- value eqPrimTyCon
- value eqReprPrimTyCon
- value eqPhantPrimTyCon
- value eqClass
- value heqClass
- value coercibleClass
- value eqDataCon
- value heqDataCon
- value coercibleDataCon
- value equalityTyCon
- value liftedTypeKind
- value constraintKind
- value typeSymbolKind
- value unboxedTupleKind
- value unboxedSumKind
- value liftedTypeKindTyCon
- value constraintKindTyCon
- value tYPETyCon
- value anyTy
- value anyTyCon
- value anyTypeOfKind
- value typeToTypeKind
- value unliftedTypeKind
- value zeroBitTypeKind
- value tYPEKind
- value cONSTRAINTKind
- value cONSTRAINTTyCon
- value fUNTyCon
- value runtimeRepTy
- value runtimeRepTyCon
- value liftedRepTy
- value multiplicityTy
- value multiplicityTyCon
- value manyDataCon
- value oneDataCon
- value manyDataConTy
- value oneDataConTy
- value unliftedRepTy
- value boxedRepDataConTyCon
- value levityTyCon
- value liftedDataConTy
- value unliftedDataConTy
- value liftedDataConTyCon
- value unliftedDataConTyCon
- value levityTy
- value zeroBitRepTy
- value unitTy
- value unitTyCon
- value unitDataCon
- value unitDataConId
- value boolTy
- value boolTyCon
- value trueDataCon
- value falseDataCon
- value promotedTrueDataCon
- value promotedFalseDataCon
- value orderingTyCon
- value promotedLTDataCon
- value promotedEQDataCon
- value promotedGTDataCon
- value charTy
- value charTyCon
- value charDataCon
- value intTy
- value intTyCon
- value intDataCon
- value wordTy
- value wordTyCon
- value wordDataCon
- value floatTy
- value floatTyCon
- value doubleTy
- value doubleTyCon
- value stringTy
- value listTyCon
- value nilDataCon
- value consDataCon
- value promotedNilDataCon
- value promotedConsDataCon
- value maybeTyCon
- value justDataCon
- value nothingDataCon
- value promotedJustDataCon
- value promotedNothingDataCon
- value integerTy
- value integerTyCon
- value naturalTy
- value naturalTyCon
- value tupleTyCon
- value tupleDataCon
- value promotedTupleDataCon
- value sumTyCon
- value sumDataCon
- value cTupleTyConName
- value isCTupleTyConName
- value mkTupleTy
- value mkBoxedTupleTy
- value mkSumTy
- value mkListTy
- value mkPromotedListTy
- value mkTupleTy1
- value cTupleTyCon
- value cTupleDataCon
- value mkMaybeTy
- value mkPromotedMaybeTy
- value mkPromotedPairTy
- value mkConstraintTupleTy
- value typeNatTyCons
- value typeNatCoAxiomRules
- value typeNatAddTyCon
- value typeNatSubTyCon
- value typeNatMulTyCon
- value typeNatExpTyCon
- value typeNatDivTyCon
- value typeNatModTyCon
- value typeNatLogTyCon
- value typeNatCmpTyCon
- value typeSymbolCmpTyCon
- value typeSymbolAppendTyCon
- value typeSymbolKindCon
- value typeConsSymbolTyCon
- value typeUnconsSymbolTyCon
- value typeCharCmpTyCon
- value typeCharToNatTyCon
- value typeNatToCharTyCon
- value intPrimTy
- value wordPrimTy
- value charPrimTy
- value floatPrimTy
- value doublePrimTy
- value realWorldTy
- value realWorldTyCon
- value realWorldStatePrimTy
- value mkStatePrimTy
- value mkProxyPrimTy
- value proxyPrimTyCon
- Packageghc-tcplugin-api-0.20.1.0
- Exports151
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceBuiltins.hs
Known-key uniques
Custom type errors (prefer using GHC.TcPlugin.API.mkTcPluginErrorTy)
Equality and coercions
Given a Role, what TyCon is the type of equality predicates at that role?
Kinds
Specialization of unboxedTupleSumKind for tuples
Specialization of unboxedTupleSumKind for sums
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
Type constructor for n-ary unboxed sum.
Data constructor for i-th alternative of a n-ary unboxed sum.
Make a tuple type. The list of types should not include any RuntimeRep specifications. Boxed 1-tuples are flattened. See Note [One-tuples]
Build the type of a small tuple that holds the specified type of thing Flattens 1-tuples. See Note [One-tuples].
Make a *promoted* list.
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