TyCons represent type constructors. Type constructors are introduced by things such as:
1) Data declarations: data Foo = ... creates the Foo type constructor of
kind Type
2) Type synonyms: type Foo = ... creates the Foo type constructor
3) Newtypes: newtype Foo a = MkFoo ... creates the Foo type constructor
of kind Type -> Type
4) Class declarations: class Foo where creates the Foo type constructor
of kind Constraint
This data type also encodes a number of primitive, built in type constructors such as those for function and tuple types.
If you edit this type, you may need to update the GHC formalism See Note [GHC Formalism] in GHC.Core.Lint
Instances5Eq, Data, NamedThing, Outputable, Uniquable
Eq TyConDefined in ghc-9.10.3 · GHC.Core.TyConData TyConDefined in ghc-9.10.3 · GHC.Core.TyConNamedThing TyConDefined in ghc-9.10.3 · GHC.Core.TyConOutputable TyConDefined in ghc-9.10.3 · GHC.Core.TyConUniquable TyConDefined in ghc-9.10.3 · GHC.Core.TyCon