-- (c) The FFI task force, 2001 -- -- Provides fixed sized, unsigned integral types module Word ( Word8, Word16, Word32, Word64 ) where -- Constraints applying to all of the following types: -- -- * For any types, all arithmetic is performed modulo 2^n, where n is the -- number of bit width of the type. -- -- * The rules that hold for Enum instances over a bounded type such as Int -- (see the section of the Haskell report dealing with arithmetic sequences) -- also hold for the Enum instances over the various Int types defined here. -- 8 bit natural numbers -- data Word8 = 0 | 1 | ... | 255 deriving (Eq, Ord, Enum, Bounded, Show, Read) instance Num Word8 where ... instance Real Word8 where ... instance Integral Word8 where ... instance Ix Word8 where ... -- 16 bit natural numbers -- data Word16 = 0 | 1 | ... | 65535 deriving (Eq, Ord, Enum, Bounded, Show, Read) instance Num Word16 where ... instance Real Word16 where ... instance Integral Word16 where ... instance Ix Word16 where ... -- 32 bit natural numbers -- data Word32 = 0 | 1 | ... | 4294967295 deriving (Eq, Ord, Enum, Bounded, Show, Read) instance Num Word32 where ... instance Real Word32 where ... instance Integral Word32 where ... instance Ix Word32 where ... -- 64 bit natural numbers -- data Word64 = 0 | 1 | ... | 18446744073709551615 deriving (Eq, Ord, Enum, Bounded, Show, Read) instance Num Word64 where ... instance Real Word64 where ... instance Integral Word64 where ... instance Ix Word64 where ...