[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: arithmetic issues



   Date: Sun, 23 Oct 2005 23:13:06 -0700 (PDT)
   From: bear <bear@xxxxxxxxx>

   Okay, how about a library function:

   (define NaN (lambda()
   "return a NaN for use in other functions,
    because there is no read/write syntax for NaN."
   (/ 0.0 0.0)))

   then you can write:

      (if <check-arguments>
          <calculate-results>
          (NaN))

   So your code is clear and readable, and yet you
   don't have a read/write syntax that makes it unclear
   whether read is failing or just reading an error.

If Aubrey Jaffer's suggestion of NaNs encapsulating information about
their origin be adopted, I think it would make sense to extend the NAN
procedure to accept more arguments, of any nature, to specify any
information whatsoever about the condition, like T's UNDEFINED-VALUE
mechanism.  Of course, one possible value would be (LAMBDA ARGS (/ 0.0
0.0)).