On Jul 14, 2011, at 11:23 AM, Eli Barzilay wrote: >> >> It's simple, it's been explained countless times, it works in many >> cases. > > No, it's broken in pretty much all cases. Give me a single symbolic > macro and I'll show you how it's broken. (And point out how CL > bypasses the problem...)
Carl E. conducted a case study on how broken macros are in the Lisp world. Details: he inspected ALL macros in the code base of ACL2, Applicative Common Lisp, a theorem-prover version of Common Lisp if you will. They use macros a lot and have thousands of them. Some seem to work because they are just abbreviations for other things. BUT when it comes to real macros, he found a good number of mistakes -- and that in code where people are keenly aware of problems with scope and effects because they want to prove theorems about their code. -- Short story: it isn't pretty in the trivial world of ACL2 macros and I would NEVER EVER take up Eli on that bet. -- Matthias (Possibly biased. I imported the word 'hygiene' for macros) _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users