These types are needed to accurately represent C function prototypes, in order to access C library interfaces in Haskell. The Haskell system is not required to represent those types exactly as C does, but the following guarantees are provided concerning a Haskell type CT representing a C type t:
These types are are represented as newtypes of types in Data.Int and Data.Word, and are instances of Eq, Ord, Num, Read, Show, Enum, Storable, Bounded, Real, Integral and Bits.
| data CChar |
| instance Bounded CChar |
| instance Enum CChar |
| instance Eq CChar |
| instance Integral CChar |
| instance Num CChar |
| instance Ord CChar |
| instance Read CChar |
| instance Real CChar |
| instance Show CChar |
| instance Storable CChar |
| instance Bits CChar |
| data CSChar |
| instance Bounded CSChar |
| instance Enum CSChar |
| instance Eq CSChar |
| instance Integral CSChar |
| instance Num CSChar |
| instance Ord CSChar |
| instance Read CSChar |
| instance Real CSChar |
| instance Show CSChar |
| instance Storable CSChar |
| instance Bits CSChar |
| data CUChar |
| instance Bounded CUChar |
| instance Enum CUChar |
| instance Eq CUChar |
| instance Integral CUChar |
| instance Num CUChar |
| instance Ord CUChar |
| instance Read CUChar |
| instance Real CUChar |
| instance Show CUChar |
| instance Storable CUChar |
| instance Bits CUChar |
| data CShort |
| instance Bounded CShort |
| instance Enum CShort |
| instance Eq CShort |
| instance Integral CShort |
| instance Num CShort |
| instance Ord CShort |
| instance Read CShort |
| instance Real CShort |
| instance Show CShort |
| instance Storable CShort |
| instance Bits CShort |
| data CUShort |
| instance Bounded CUShort |
| instance Enum CUShort |
| instance Eq CUShort |
| instance Integral CUShort |
| instance Num CUShort |
| instance Ord CUShort |
| instance Read CUShort |
| instance Real CUShort |
| instance Show CUShort |
| instance Storable CUShort |
| instance Bits CUShort |
| data CInt |
| instance Bounded CInt |
| instance Enum CInt |
| instance Eq CInt |
| instance Integral CInt |
| instance Num CInt |
| instance Ord CInt |
| instance Read CInt |
| instance Real CInt |
| instance Show CInt |
| instance Storable CInt |
| instance Bits CInt |
| data CUInt |
| instance Bounded CUInt |
| instance Enum CUInt |
| instance Eq CUInt |
| instance Integral CUInt |
| instance Num CUInt |
| instance Ord CUInt |
| instance Read CUInt |
| instance Real CUInt |
| instance Show CUInt |
| instance Storable CUInt |
| instance Bits CUInt |
| data CLong |
| instance Bounded CLong |
| instance Enum CLong |
| instance Eq CLong |
| instance Integral CLong |
| instance Num CLong |
| instance Ord CLong |
| instance Read CLong |
| instance Real CLong |
| instance Show CLong |
| instance Storable CLong |
| instance Bits CLong |
| data CULong |
| instance Bounded CULong |
| instance Enum CULong |
| instance Eq CULong |
| instance Integral CULong |
| instance Num CULong |
| instance Ord CULong |
| instance Read CULong |
| instance Real CULong |
| instance Show CULong |
| instance Storable CULong |
| instance Bits CULong |
| data CPtrdiff |
| instance Bounded CPtrdiff |
| instance Enum CPtrdiff |
| instance Eq CPtrdiff |
| instance Integral CPtrdiff |
| instance Num CPtrdiff |
| instance Ord CPtrdiff |
| instance Read CPtrdiff |
| instance Real CPtrdiff |
| instance Show CPtrdiff |
| instance Storable CPtrdiff |
| instance Bits CPtrdiff |
| data CSize |
| instance Bounded CSize |
| instance Enum CSize |
| instance Eq CSize |
| instance Integral CSize |
| instance Num CSize |
| instance Ord CSize |
| instance Read CSize |
| instance Real CSize |
| instance Show CSize |
| instance Storable CSize |
| instance Bits CSize |
| data CWchar |
| instance Bounded CWchar |
| instance Enum CWchar |
| instance Eq CWchar |
| instance Integral CWchar |
| instance Num CWchar |
| instance Ord CWchar |
| instance Read CWchar |
| instance Real CWchar |
| instance Show CWchar |
| instance Storable CWchar |
| instance Bits CWchar |
| data CSigAtomic |
| instance Bounded CSigAtomic |
| instance Enum CSigAtomic |
| instance Eq CSigAtomic |
| instance Integral CSigAtomic |
| instance Num CSigAtomic |
| instance Ord CSigAtomic |
| instance Read CSigAtomic |
| instance Real CSigAtomic |
| instance Show CSigAtomic |
| instance Storable CSigAtomic |
| instance Bits CSigAtomic |
| data CLLong |
| instance Bounded CLLong |
| instance Enum CLLong |
| instance Eq CLLong |
| instance Integral CLLong |
| instance Num CLLong |
| instance Ord CLLong |
| instance Read CLLong |
| instance Real CLLong |
| instance Show CLLong |
| instance Storable CLLong |
| instance Bits CLLong |
| data CULLong |
| instance Bounded CULLong |
| instance Enum CULLong |
| instance Eq CULLong |
| instance Integral CULLong |
| instance Num CULLong |
| instance Ord CULLong |
| instance Read CULLong |
| instance Real CULLong |
| instance Show CULLong |
| instance Storable CULLong |
| instance Bits CULLong |
| data CIntPtr |
| instance Bounded CIntPtr |
| instance Enum CIntPtr |
| instance Eq CIntPtr |
| instance Integral CIntPtr |
| instance Num CIntPtr |
| instance Ord CIntPtr |
| instance Read CIntPtr |
| instance Real CIntPtr |
| instance Show CIntPtr |
| instance Storable CIntPtr |
| instance Bits CIntPtr |
| data CUIntPtr |
| instance Bounded CUIntPtr |
| instance Enum CUIntPtr |
| instance Eq CUIntPtr |
| instance Integral CUIntPtr |
| instance Num CUIntPtr |
| instance Ord CUIntPtr |
| instance Read CUIntPtr |
| instance Real CUIntPtr |
| instance Show CUIntPtr |
| instance Storable CUIntPtr |
| instance Bits CUIntPtr |
| data CIntMax |
| instance Bounded CIntMax |
| instance Enum CIntMax |
| instance Eq CIntMax |
| instance Integral CIntMax |
| instance Num CIntMax |
| instance Ord CIntMax |
| instance Read CIntMax |
| instance Real CIntMax |
| instance Show CIntMax |
| instance Storable CIntMax |
| instance Bits CIntMax |
| data CUIntMax |
| instance Bounded CUIntMax |
| instance Enum CUIntMax |
| instance Eq CUIntMax |
| instance Integral CUIntMax |
| instance Num CUIntMax |
| instance Ord CUIntMax |
| instance Read CUIntMax |
| instance Real CUIntMax |
| instance Show CUIntMax |
| instance Storable CUIntMax |
| instance Bits CUIntMax |
These types are are represented as newtypes of basic foreign types, and are instances of Eq, Ord, Num, Read, Show, Enum and Storable.
| data CClock |
| instance Enum CClock |
| instance Eq CClock |
| instance Num CClock |
| instance Ord CClock |
| instance Read CClock |
| instance Real CClock |
| instance Show CClock |
| instance Storable CClock |
| data CTime |
| instance Enum CTime |
| instance Eq CTime |
| instance Num CTime |
| instance Ord CTime |
| instance Read CTime |
| instance Real CTime |
| instance Show CTime |
| instance Storable CTime |
These types are are represented as newtypes of Float and Double, and are instances of Eq, Ord, Num, Read, Show, Enum, Storable, Real, Fractional, Floating, RealFrac and RealFloat.
| data CFloat |
| instance Enum CFloat |
| instance Eq CFloat |
| instance Floating CFloat |
| instance Fractional CFloat |
| instance Num CFloat |
| instance Ord CFloat |
| instance Read CFloat |
| instance Real CFloat |
| instance RealFloat CFloat |
| instance RealFrac CFloat |
| instance Show CFloat |
| instance Storable CFloat |
| data CDouble |
| instance Enum CDouble |
| instance Eq CDouble |
| instance Floating CDouble |
| instance Fractional CDouble |
| instance Num CDouble |
| instance Ord CDouble |
| instance Read CDouble |
| instance Real CDouble |
| instance RealFloat CDouble |
| instance RealFrac CDouble |
| instance Show CDouble |
| instance Storable CDouble |
| data CFile |
| data CFpos |
| data CJmpBuf |