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

Reply via email to