Moduleghc-10.0.0.20260917GHC2024
GHC.Builtin.Types
This module is about types that can be defined in Haskell, but which must be wired into the compiler nonetheless. C.f module GHC.Builtin.Types.Prim
Contents
Synopsis
- value mkWiredInTyConName
- value mkWiredInIdName
- value wiredInTyCons
- value isBuiltInOcc
- value isBuiltInOcc_maybe
- value isTupleTyOrigName_maybe
- value isSumTyOrigName_maybe
- value isInfiniteFamilyOrigName_maybe
- value boolTy
- value boolTyCon
- value boolTyCon_RDR
- value boolTyConName
- value trueDataCon
- value trueDataConName
- value trueDataConId
- value true_RDR
- value falseDataCon
- value falseDataConName
- value falseDataConId
- value false_RDR
- value promotedFalseDataCon
- value promotedTrueDataCon
- value orderingTyCon
- value ordLTDataCon
- value ordLTDataConId
- value ordEQDataCon
- value ordEQDataConId
- value ordGTDataCon
- value ordGTDataConId
- value promotedLTDataCon
- value promotedEQDataCon
- value promotedGTDataCon
- value boxingDataCon
- data BoxingInfo
- value charTyCon
- value charDataCon
- value charTyCon_RDR
- value charTy
- value stringTy
- value charTyConName
- value stringTyCon_RDR
- value doubleTyCon
- value doubleDataCon
- value doubleTy
- value doubleTyConName
- value floatTyCon
- value floatDataCon
- value floatTy
- value floatTyConName
- value intTyCon
- value intDataCon
- value intTyCon_RDR
- value intDataCon_RDR
- value intTyConName
- value intTy
- value wordTyCon
- value wordDataCon
- value wordTyConName
- value wordTy
- value word8TyCon
- value word8DataCon
- value word8Ty
- value listTyCon
- value listTyCon_RDR
- value listTyConName
- value listTyConKey
- value nilDataCon
- value nilDataConName
- value nilDataConKey
- value consDataCon_RDR
- value consDataCon
- value consDataConName
- value promotedNilDataCon
- value promotedConsDataCon
- value mkListTy
- value mkPromotedListTy
- value extractPromotedList
- value maybeTyCon
- value maybeTyConName
- value nothingDataCon
- value nothingDataConName
- value promotedNothingDataCon
- value justDataCon
- value justDataConName
- value promotedJustDataCon
- value mkPromotedMaybeTy
- value mkMaybeTy
- value isPromotedMaybeTy
- value mkTupleTy
- value mkTupleTy1
- value mkBoxedTupleTy
- value mkTupleStr
- value tupleTyCon
- value tupleDataCon
- value tupleTyConName
- value tupleDataConName
- value promotedTupleDataCon
- value unitTyCon
- value unitDataCon
- value unitDataConId
- value unitTy
- value unitTyConKey
- value soloTyCon
- value soloDataConName
- value pairTyCon
- value mkPromotedPairTy
- value isPromotedPairType
- value unboxedUnitTy
- value unboxedUnitTyCon
- value unboxedUnitDataCon
- value unboxedSoloTyCon
- value unboxedSoloTyConName
- value unboxedSoloDataConName
- value unboxedTupleKind
- value unboxedSumKind
- value mkConstraintTupleTy
- value cTupleTyCon
- value cTupleTyConName
- value cTupleTyConNames
- value isCTupleTyConName
- value cTupleDataCon
- value cTupleDataConName
- value cTupleDataConNames
- value cTupleSelId
- value cTupleSelIdName
- value anyTyCon
- value anyTy
- value anyTypeOfKind
- value unusedTypeTyCon
- value makeRecoveryTyCon
- value mkSumTy
- value sumTyCon
- value sumDataCon
- value unboxedSumTyConName
- value unboxedSumDataConName
- value typeSymbolKindCon
- value typeSymbolKind
- value isLiftedTypeKindTyConName
- value typeToTypeKind
- value liftedRepTyCon
- value unliftedRepTyCon
- value tYPETyCon
- value tYPETyConName
- value tYPEKind
- value cONSTRAINTTyCon
- value cONSTRAINTTyConName
- value cONSTRAINTKind
- value constraintKind
- value liftedTypeKind
- value unliftedTypeKind
- value zeroBitTypeKind
- value constraintKindTyCon
- value liftedTypeKindTyCon
- value unliftedTypeKindTyCon
- value constraintKindTyConName
- value liftedTypeKindTyConName
- value unliftedTypeKindTyConName
- value liftedRepTyConName
- value unliftedRepTyConName
- value heqTyCon
- value heqTyConName
- value heqClass
- value heqDataCon
- value eqTyCon
- value eqTyConName
- value eqClass
- value eqDataCon
- value eqTyCon_RDR
- value coercibleTyCon
- value coercibleTyConName
- value coercibleDataCon
- value coercibleClass
- value runtimeRepTyCon
- value vecCountTyCon
- value vecElemTyCon
- value boxedRepDataConTyCon
- value runtimeRepTy
- value liftedRepTy
- value unliftedRepTy
- value zeroBitRepTy
- value vecRepDataConTyCon
- value tupleRepDataConTyCon
- value sumRepDataConTyCon
- value levityTyCon
- value levityTy
- value liftedDataConTyCon
- value unliftedDataConTyCon
- value liftedDataConTy
- value unliftedDataConTy
- value intRepDataConTy
- value int8RepDataConTy
- value int16RepDataConTy
- value int32RepDataConTy
- value int64RepDataConTy
- value wordRepDataConTy
- value word8RepDataConTy
- value word16RepDataConTy
- value word32RepDataConTy
- value word64RepDataConTy
- value addrRepDataConTy
- value floatRepDataConTy
- value doubleRepDataConTy
- value vec2DataConTy
- value vec4DataConTy
- value vec8DataConTy
- value vec16DataConTy
- value vec32DataConTy
- value vec64DataConTy
- value int8ElemRepDataConTy
- value int16ElemRepDataConTy
- value int32ElemRepDataConTy
- value int64ElemRepDataConTy
- value word8ElemRepDataConTy
- value word16ElemRepDataConTy
- value word32ElemRepDataConTy
- value word64ElemRepDataConTy
- value floatElemRepDataConTy
- value doubleElemRepDataConTy
- value multiplicityTyConName
- value oneDataConName
- value manyDataConName
- value multiplicityTy
- value multiplicityTyCon
- value oneDataCon
- value manyDataCon
- value oneDataConTy
- value manyDataConTy
- value oneDataConTyCon
- value manyDataConTyCon
- value multMulTyCon
- value unrestrictedFunTyCon
- value unrestrictedFunTyConName
- value integerTy
- value integerTyCon
- value integerTyConName
- value integerISDataCon
- value integerISDataConName
- value integerIPDataCon
- value integerIPDataConName
- value integerINDataCon
- value integerINDataConName
- value naturalTy
- value naturalTyCon
- value naturalTyConName
- value naturalNSDataCon
- value naturalNSDataConName
- value naturalNBDataCon
- value naturalNBDataConName
- value pretendNameIsInScope
- Packageghc-10.0.0.20260917
- Exports249
- LanguageGHC2024
- LicenceBSD-3-Clause
- SourceTypes.hs
Helper functions defined here
All wired in things
Check if the OccName is an occurrence of built-in syntax.
This is a variant of isBuiltInOcc_maybe that returns a Bool. See Note [isBuiltInOcc_maybe]
isBuiltInOcc holds for:
* function arrow ->
* list syntax `[]`, :
* boxed tuple syntax (), (,), (,,), (,,,), ...
* unboxed tuple syntax (##), `()`, `()`, ...
* unboxed sum type syntax (#|#), (#||#), (#|||#), ...
* unboxed sum data syntax `()`, `()`, `(), ...
Match on built-in syntax as it occurs at use sites. See Note [isBuiltInOcc_maybe]
Bool
Ordering
Boxing primitive types
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]
Constructors
Char
Double
Float
Int
Word
Word8
List
Make a *promoted* list.
Extract the elements of a promoted list. Panics if the type is not a promoted list
Maybe
Tuples
Make a tuple type. The list of types should not include any RuntimeRep specifications. Boxed 1-tuples are flattened. See Note [One-tuples]
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
Build the type of a small tuple that holds the specified type of thing Flattens 1-tuples. See Note [One-tuples].
Specialization of unboxedTupleSumKind for tuples
Specialization of unboxedTupleSumKind for sums
Constraint tuples
Any
Recovery TyCon
Make a fake, recovery TyCon from an existing one. Used when recovering from errors in type declarations
Sums
Type constructor for n-ary unboxed sum.
Data constructor for i-th alternative of a n-ary unboxed sum.
Kinds
type LiftedRep = 'BoxedRep 'Liftedtype UnliftedRep = 'BoxedRep 'UnliftedEquality predicates
RuntimeRep and friends
Levity
Multiplicity and friends
Bignum
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].