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 |