Email list hosting service & mailing list manager


fixnum-* operations Bradley Lucier 25 Jul 2006 18:42 UTC

The Rationale for the section "Fixnums" begins:

> Rationale: The operations whose names begin with fixnum implement
> arithmetic on a quotient ring of the integers ...

No finite quotient ring of the integers is an ordered ring [1](any
ordered ring with identity contains an isomorphic copy of the
integers, so it is infinite), so the operations that rely on order,
namely,

fixnum>
fixnum<
fixnum>=
fixnum<=
fixnum-positive?
fixnum-negative?
fixnum-max
fixnum-min

don't make sense.  I suggest they be removed.

Once they *are* removed, then there seems to be no reason to have
(now partially) parallel definitions of fixnum-* operations, most of
which do *exactly* the same thing as their fx* counterpart.

It would be more helpful identify and list the few fx* and fixnum-*
operations that might overflow, and so have different semantics, and
specify

Brad

[1] An ordered ring satisfies

(1) Given a and b, precisely one of a < b, a = b, or a > b is true.
(2) Given a < b and any c, a+c < b+c; and if c > 0 then a*c < b*c.
(3) x < y and y < z implies x < z.

The presumed fixnum-* operations, which claim to operate on a ring,
rely on an ordering doesn't satisfy these properties.  Without these
properties, flow analysis, stated as one of the motivations of this
SRFI, of inequalities is useless.