Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module is about types that can be defined in Haskell, but which must be wired into the compiler nonetheless. C.f module TysPrim
- wiredInTyCons :: [TyCon]
- isBuiltInOcc_maybe :: OccName -> Maybe Name
- boolTy :: Type
- boolTyCon :: TyCon
- boolTyCon_RDR :: RdrName
- boolTyConName :: Name
- trueDataCon :: DataCon
- trueDataConId :: Id
- true_RDR :: RdrName
- falseDataCon :: DataCon
- falseDataConId :: Id
- false_RDR :: RdrName
- promotedFalseDataCon :: TyCon
- promotedTrueDataCon :: TyCon
- orderingTyCon :: TyCon
- ltDataCon :: DataCon
- ltDataConId :: Id
- eqDataCon :: DataCon
- eqDataConId :: Id
- gtDataCon :: DataCon
- gtDataConId :: Id
- promotedLTDataCon :: TyCon
- promotedEQDataCon :: TyCon
- promotedGTDataCon :: TyCon
- charTyCon :: TyCon
- charDataCon :: DataCon
- charTyCon_RDR :: RdrName
- charTy :: Type
- stringTy :: Type
- charTyConName :: Name
- doubleTyCon :: TyCon
- doubleDataCon :: DataCon
- doubleTy :: Type
- doubleTyConName :: Name
- floatTyCon :: TyCon
- floatDataCon :: DataCon
- floatTy :: Type
- floatTyConName :: Name
- intTyCon :: TyCon
- intDataCon :: DataCon
- intTyCon_RDR :: RdrName
- intDataCon_RDR :: RdrName
- intTyConName :: Name
- intTy :: Type
- wordTyCon :: TyCon
- wordDataCon :: DataCon
- wordTyConName :: Name
- wordTy :: Type
- word8TyCon :: TyCon
- word8DataCon :: DataCon
- word8TyConName :: Name
- word8Ty :: Type
- listTyCon :: TyCon
- listTyCon_RDR :: RdrName
- listTyConName :: Name
- listTyConKey :: Unique
- nilDataCon :: DataCon
- nilDataConName :: Name
- nilDataConKey :: Unique
- consDataCon_RDR :: RdrName
- consDataCon :: DataCon
- consDataConName :: Name
- promotedNilDataCon :: TyCon
- promotedConsDataCon :: TyCon
- mkListTy :: Type -> Type
- maybeTyCon :: TyCon
- maybeTyConName :: Name
- nothingDataCon :: DataCon
- nothingDataConName :: Name
- promotedNothingDataCon :: TyCon
- justDataCon :: DataCon
- justDataConName :: Name
- promotedJustDataCon :: TyCon
- mkTupleTy :: Boxity -> [Type] -> Type
- mkBoxedTupleTy :: [Type] -> Type
- tupleTyCon :: Boxity -> Arity -> TyCon
- tupleDataCon :: Boxity -> Arity -> DataCon
- tupleTyConName :: TupleSort -> Arity -> Name
- promotedTupleDataCon :: Boxity -> Arity -> TyCon
- unitTyCon :: TyCon
- unitDataCon :: DataCon
- unitDataConId :: Id
- unitTy :: Type
- unitTyConKey :: Unique
- pairTyCon :: TyCon
- unboxedUnitTyCon :: TyCon
- unboxedUnitDataCon :: DataCon
- cTupleTyConName :: Arity -> Name
- cTupleTyConNames :: [Name]
- isCTupleTyConName :: Name -> Bool
- typeNatKindCon :: TyCon
- typeNatKind :: Kind
- typeSymbolKindCon :: TyCon
- typeSymbolKind :: Kind
- isLiftedTypeKindTyConName :: Name -> Bool
- liftedTypeKind :: Kind
- constraintKind :: Kind
- starKindTyCon :: TyCon
- starKindTyConName :: Name
- unboxedTupleKind :: Kind
- unicodeStarKindTyCon :: TyCon
- unicodeStarKindTyConName :: Name
- liftedTypeKindTyCon :: TyCon
- constraintKindTyCon :: TyCon
- mkPArrTy :: Type -> Type
- parrTyCon :: TyCon
- parrFakeCon :: Arity -> DataCon
- isPArrTyCon :: TyCon -> Bool
- isPArrFakeCon :: DataCon -> Bool
- parrTyCon_RDR :: RdrName
- parrTyConName :: Name
- heqTyCon :: TyCon
- heqClass :: Class
- heqDataCon :: DataCon
- coercibleTyCon :: TyCon
- coercibleDataCon :: DataCon
- coercibleClass :: Class
- mkWiredInTyConName :: BuiltInSyntax -> Module -> FastString -> Unique -> TyCon -> Name
- mkWiredInIdName :: Module -> FastString -> Unique -> Id -> Name
- runtimeRepTyCon :: TyCon
- vecCountTyCon :: TyCon
- vecElemTyCon :: TyCon
- runtimeRepTy :: Type
- ptrRepLiftedTy :: Type
- vecRepDataConTyCon :: TyCon
- ptrRepUnliftedDataConTyCon :: TyCon
- voidRepDataConTy :: Type
- intRepDataConTy :: Type
- wordRepDataConTy :: Type
- int64RepDataConTy :: Type
- word64RepDataConTy :: Type
- addrRepDataConTy :: Type
- floatRepDataConTy :: Type
- doubleRepDataConTy :: Type
- unboxedTupleRepDataConTy :: Type
- vec2DataConTy :: Type
- vec4DataConTy :: Type
- vec8DataConTy :: Type
- vec16DataConTy :: Type
- vec32DataConTy :: Type
- vec64DataConTy :: Type
- int8ElemRepDataConTy :: Type
- int16ElemRepDataConTy :: Type
- int32ElemRepDataConTy :: Type
- int64ElemRepDataConTy :: Type
- word8ElemRepDataConTy :: Type
- word16ElemRepDataConTy :: Type
- word32ElemRepDataConTy :: Type
- word64ElemRepDataConTy :: Type
- floatElemRepDataConTy :: Type
- doubleElemRepDataConTy :: Type
All wired in things
wiredInTyCons :: [TyCon] Source #
Bool
boolTyConName :: Name Source #
trueDataConId :: Id Source #
falseDataConId :: Id Source #
Ordering
ltDataConId :: Id Source #
eqDataConId :: Id Source #
gtDataConId :: Id Source #
Char
charTyConName :: Name Source #
Double
doubleTyCon :: TyCon Source #
Float
floatTyCon :: TyCon Source #
Int
intDataCon :: DataCon Source #
intTyConName :: Name Source #
Word
wordTyConName :: Name Source #
Word8
word8TyCon :: TyCon Source #
List
listTyConName :: Name Source #
nilDataCon :: DataCon Source #
Maybe
maybeTyCon :: TyCon Source #
Tuples
mkTupleTy :: Boxity -> [Type] -> Type Source #
Make a tuple type. The list of types should not include any RuntimeRep specifications.
mkBoxedTupleTy :: [Type] -> Type Source #
Build the type of a small tuple that holds the specified type of thing
unitDataConId :: Id Source #
cTupleTyConName :: Arity -> Name Source #
cTupleTyConNames :: [Name] Source #
isCTupleTyConName :: Name -> Bool Source #
Kinds
typeNatKind :: Kind Source #
isLiftedTypeKindTyConName :: Name -> Bool Source #
Parallel arrays
mkPArrTy :: Type -> Type Source #
Construct a type representing the application of the parallel array constructor
Represents the type constructor of parallel arrays
- This must match the definition in
PrelPArr
NB: Although the constructor is given here, it will not be accessible in
user code as it is not in the environment of any compiled module except
PrelPArr
.
parrFakeCon :: Arity -> DataCon Source #
Fake array constructors
- These constructors are never really used to represent array values; however, they are very convenient during desugaring (and, in particular, in the pattern matching compiler) to treat array pattern just like yet another constructor pattern
isPArrTyCon :: TyCon -> Bool Source #
Check whether a type constructor is the constructor for parallel arrays
isPArrFakeCon :: DataCon -> Bool Source #
Checks whether a data constructor is a fake constructor for parallel arrays
parrTyConName :: Name Source #
Equality predicates
heqDataCon :: DataCon Source #
mkWiredInTyConName :: BuiltInSyntax -> Module -> FastString -> Unique -> TyCon -> Name Source #
mkWiredInIdName :: Module -> FastString -> Unique -> Id -> Name Source #
RuntimeRep and friends
vecElemTyCon :: TyCon Source #
runtimeRepTy :: Type Source #
vec2DataConTy :: Type Source #
vec4DataConTy :: Type Source #
vec8DataConTy :: Type Source #