| > but to claim that it's that much more productive than some of the other well designed languages is a stretch Given that you can turn Lisp into any of those "other well designed languages", it's not a stretch at all. > and better understood than custom macros. What can be easier than the macros? > but somewhat over rated in practice True. You can build a decent meta-language without homoiconicity, all you need is a quasiquotation. > there are ways to do eval() in other languages as well. Eval is runtime, macros are compile-time. Huge difference. > Compilers can optimize well known constructs better than equivalent macros in lisp. No. Macros can optimise any way you fancy. There are no limits. > But there isn't a one programming paradigm that's universally better than others. A paradigm which contains all the others is exactly this. |
For example, the Racket compiler does not need to know about the type specializing optimizations that Typed Racket makes possible.