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)).