On Thu, Sep 9, 2010 at 4:30 PM, Raoul Duke <[email protected]> wrote: > short-circuiting boolean ops in > scheme/lisp don't have to be "built-ins", can be macros, no? they are > in the Clojure sources, anyway. (just thinking of arguments i've heard > for /not/ having laziness be the default...
Yes and no. There are two differences (at least) to consider: 1. A macro hasn't even been evaluated when formed, which means that bindings for its variables aren't established. This can lead to significant behavioral differences between macros and fexprs in some cases. 2. Macros allow arbitrarily rich rewriting. Fexprs are much more constrained. Macros *may* be too powerful for safety from a security point of view. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
