(asv 9090)
-----
On another thread I asked why this does not return nil. Someone responded that () and nil are two ways of saying the same thing.
arc> (let ((x 2)) (+ x 3)) Error: "Can't understand fn arg list 2"
But: arc> (let x 1 (+ x (* x 2))) results in 3
So:
arc> (let x 2 (+ x 3)) results in 5
which in regular scheme would return () . This is has the effect of reducing the number of parentheses, which is a good thing.
arc> (def reciprocal(n) (if (is n 0) "oops!" (/ 1 n)) )
which again reduces the number of keywords and pairs of braces by one, because there is no longer a need to state that what follows def is a lambda.
That makes sense. What else would it be?