haskell2010-1.1.2.0: Compatibility with Haskell 2010

Safe Haskell | Safe
Language | Haskell2010

Data.Word

Contents

- Unsigned integral types

Synopsis

- data Word :: *
- data Word8 :: *
- data Word16 :: *
- data Word32 :: *
- data Word64 :: *

# Unsigned integral types

This module provides unsigned integer types of unspecified width (`Word`) and fixed widths (`Word8`, `Word16`, `Word32` and `Word64`). All arithmetic is performed modulo 2^n, where `n` is the number of bits in the type.

For coercing between any two integer types, use `fromIntegral`. Coercing word types to and from integer types preserves representation, not sign.

The rules that hold for `Enum` instances over a bounded type such as `Int` (see the section of the Haskell language report dealing with arithmetic sequences) also hold for the `Enum` instances over the various `Word` types defined here.

Right and left shifts by amounts greater than or equal to the width of the type result in a zero result. This is contrary to the behaviour in C, which is undefined; a common interpretation is to truncate the shift count to the width of the type, for example `1 << 32 == 1` in some C implementations.

data Word :: * Source

A `Word` is an unsigned integral type, with the same size as `Int`.

Instances

Bounded Word |
Enum Word |
Eq Word |
Integral Word |
Num Word |
Ord Word |
Read Word |
Real Word |
Show Word |
Ix Word |
Storable Word |
Bits Word |
FiniteBits Word |

data Word8 :: * Source

8-bit unsigned integer type

Instances

Bounded Word8 |
Enum Word8 |
Eq Word8 |
Integral Word8 |
Num Word8 |
Ord Word8 |
Read Word8 |
Real Word8 |
Show Word8 |
Ix Word8 |
Storable Word8 |
Bits Word8 |
FiniteBits Word8 |

data Word16 :: * Source

16-bit unsigned integer type

Instances

Bounded Word16 |
Enum Word16 |
Eq Word16 |
Integral Word16 |
Num Word16 |
Ord Word16 |
Read Word16 |
Real Word16 |
Show Word16 |
Ix Word16 |
Storable Word16 |
Bits Word16 |
FiniteBits Word16 |

data Word32 :: * Source

32-bit unsigned integer type

Instances

Bounded Word32 |
Enum Word32 |
Eq Word32 |
Integral Word32 |
Num Word32 |
Ord Word32 |
Read Word32 |
Real Word32 |
Show Word32 |
Ix Word32 |
Storable Word32 |
Bits Word32 |
FiniteBits Word32 |

data Word64 :: * Source

64-bit unsigned integer type

Instances

Bounded Word64 |
Enum Word64 |
Eq Word64 |
Integral Word64 |
Num Word64 |
Ord Word64 |
Read Word64 |
Real Word64 |
Show Word64 |
Ix Word64 |
Storable Word64 |
Bits Word64 |
FiniteBits Word64 |