
On 2014-11-11 at 15:30:49 +0100, Henning Thielemann wrote:
,---- | 23.1 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. | | ... `----
"Number of bits in the type" suggests, that the number of bits depends only on the type, which is not true for Natural (and Integer), right?
Yeah, if that `n` is meant to mean a finite natural value, then you've got a point here. Otoh, one could maybe consider 'Natural' following modulo arithmetic 2^n with an infinite number `n` of bits, and hence can never arithmetically overflow. If an operation would, however, cause an underflow it simply 'throw (Underflows :: ArithException)'. However, one could extend the Data.Word documentation to note that 'Natural' represents an asymptotic limit/exception here with respect to modulo 2^n arithmetic... :-) Cheers, hvr