On Sat, Jan 26, 2008 at 02:32:15PM -0800, [EMAIL PROTECTED] wrote:
Even I think I can answer that one......I'd guess none of those HAVE to be but they are ONLY for efficiency reasons. not isn't special because it always has to evaluate its single argument. (and X Y Z) ...if X false, no reason to evaluate Y or Z. I'd go even further and make the spec say they are NOT special forms. But, I'd let implementers CODE THEM as special forms for optimization reasons if it never changed the output in anyway.
Don't forget about side effects. (if x (set! foo y)) You really don't want the set happening when x isn't true. David -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
