Int package:base
A fixed-precision integer type with at least the range
[-2^29 ..
2^29-1]. The exact range for a given implementation can be
determined by using
minBound and
maxBound from the
Bounded class.
Integral numbers, supporting integer division.
The Haskell Report defines no laws for
Integral. However,
Integral instances are customarily expected to define a
Euclidean domain and have the following properties for the
div/
mod and
quot/
rem pairs, given suitable
Euclidean functions
f and
g:
- x = y * quot x y + rem x y with rem x y
= fromInteger 0 or g (rem x y) < g
y
- x = y * div x y + mod x y with mod x y
= fromInteger 0 or f (mod x y) < f
y
An example of a suitable Euclidean function, for
Integer's
instance, is
abs.
In addition,
toInteger should be total, and
fromInteger should be a left inverse for it, i.e.
fromInteger (toInteger i) = i.
16-bit signed integer type
32-bit signed integer type
64-bit signed integer type
8-bit signed integer type
A signed integral type that can be losslessly converted to and from
Ptr. This type is also compatible with the C99 type
intptr_t, and can be marshalled to and from that type safely.
POSIX support layer for the standard libraries.
The API of this module is unstable and not meant to be consumed by
the general public. If you absolutely must depend on it, make sure
to use a tight upper bound, e.g., base < 4.X rather than
base < 5, because the interface can change rapidly without
much warning.
This module is built on *every* platform, including Win32.
Non-POSIX compliant in order to support the following features: *
S_ISSOCK (no sockets in POSIX)