On a more serious note, I hope that token filters and similar
"solutions" will not become The Answer To Every Problem. It may lead
to fragmentation of the community
Lispers know that better than anyone else. Every new feature added to a language has a cost in terms of maintainability, or learning curve, or There-Are-Too-Many-Ways-To-Do-It. I strongly believe that a unique variant of Lua, being recognized as *the* only true official one, is required; it's a very positive feature that a bump in the learning curve prevents people from starting to toy with macros when it isn't necessary.
Still, having macros is desirable:
- for the official language, they offer a nice sandbox, to let ideas get implemented, experimented with, mature, succeed or die. In the long run, the ideas which proved good as macros can make it in the core.
- there are problems which deserve a DSL approach, and Lisp is not always the way to go, for various reasons. Lua is an amazing base for this: clean, simple and powerful semantics, ease of embedding, nice regular superficial syntax, already thought for extension in many ways.
Once some is started on the modification train because of
some necessity, it may be hard to stop adding decorations.
Most languages have this problem: if you give too much power to developpers, some of them will abuse it, and some bad code will be written. The main counter-examples I could think of are Logo, and maybe Pascal.
Fabien.