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

a few questions



> 3.  It appears that MCL interprets the symbol "-f1" as a floating point 
>     number.  For instance, the expression:
>       (let ((-f1 10)) -f1)
>     results in the error:
>     > Error: While compiling an anonymous function :
>     >        -0.0 is not a symbol.
>     Is this a bug in MCL?

While the token "-f1" does not match the syntax of any actual kind of number 
defined by Common Lisp, it is still a potential number (or "potnum").  See table 
22-2 and the description of potential numbers, both on p.517 of CLtL2.  Page 516 
says "Any token that is a potential number but does not fit the actual number 
syntax defined below is a \it{reserved token} and has an 
implementation-dependent interpretation; an implementation may signal an error, 
quietly treat the token as a symbol, or take some other action."  Apparently, 
MCL is "taking some other action" and interpreting it as -0.0.