Phantom type
Jump to navigation
Jump to search
A phantom type is a type used only to construct other types; its values are never used. Phantom types are used in type arithmetic, for example.
An extension to Haskell 98 supported by GHC allows you to define datatypes without any constructors (and therefore no values other than bottom):
data MyType
This lets the compiler recognize phantom types and ensure they aren't used improperly.