Nitpick with FLOOR etc. Michael Sperber (07 Jul 2005 08:46 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (09 Jul 2005 00:50 UTC)
Re: Nitpick with FLOOR etc. Michael Sperber (11 Jul 2005 06:55 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 02:01 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (16 Jul 2005 08:38 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 17:42 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (16 Jul 2005 09:12 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 18:19 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (17 Jul 2005 17:23 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (17 Jul 2005 17:35 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (17 Jul 2005 22:43 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 01:43 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 02:31 UTC)
Re: Nitpick with FLOOR etc. bear (18 Jul 2005 05:59 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 18:57 UTC)
Re: Nitpick with FLOOR etc. bear (19 Jul 2005 01:35 UTC)
Re: Nitpick with FLOOR etc. Alan Watson (19 Jul 2005 20:30 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 17:35 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (24 Jul 2005 23:15 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 03:24 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 18:24 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 18:41 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 23:36 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (22 Jul 2005 00:50 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (25 Jul 2005 00:54 UTC)
Re: Nitpick with FLOOR etc. bear (27 Jul 2005 15:56 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (01 Aug 2005 16:33 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (25 Jul 2005 01:16 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (25 Jul 2005 02:38 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (28 Jul 2005 01:11 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (28 Jul 2005 18:15 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (01 Aug 2005 16:59 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (02 Aug 2005 13:58 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 17:39 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 18:15 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (20 Jul 2005 19:24 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (20 Jul 2005 21:35 UTC)
Re: Nitpick with FLOOR etc. bear (20 Jul 2005 22:41 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (20 Jul 2005 22:47 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 01:31 UTC)

Re: Nitpick with FLOOR etc. Aubrey Jaffer 18 Jul 2005 18:57 UTC

 | Date: Sun, 17 Jul 2005 22:59:12 -0700 (PDT)
 | From: bear <xxxxxx@sonic.net>
 |
 | One thing that is clear from inspecting code that actually
 | uses FLOOR, CEILING, etc, is that there is a very strong
 | usage pattern; the procedure inexact->exact is almost ALWAYS
 | called on the result.

Originally, I was going to propose changing ROUND, etc to return
exacts; but an inexact FLOOR was needed to avoid exact vs inexact
range problems in extending MODULO to the reals:

(define (modulo x1 x2)
  (if (and (integer? x1) (integer? x2))
      (integer-modulo x1 x2)
      (- x1 (* x2 (floor (/ x1 x2))))))

 | I think standard library macros ought to capture and standardize
 | this usage.
 |
 | (xfloor x) <==> (inexact->exact (floor x))
 | (xceiling x) <==> (inexact->exact (ceiling x)
 | (xround x) <==> (inexact->exact (round x))

Why macros when procedures would be equivalent?

Also, is the prefixed `x' for exact; wouldn't `e' be more Schemely?