Re:Advantages of Tcl over Lisp (2005)
by kazinator on Sunday October 29, 2017 @11:15PM
(#15582906)
The need to write macros rather than procedures in Lisps for meta-programming is a conscious one. Once upon a time, in ancient Lisp, it was done in the TCL way. A programmer-defined function called a "fexpr" would be called by the interpreter to handle an unknown form. Having access to its syntax, it could give it any meaning.
Macros work under compilation, and handle interpretation situations too. (Though not all of them; certain trompe d'oeil tricks are possible with fexprs, since they can have access to the contents of the run-time lexical environment, and the syntax, simultaneously, making it possible to interpret the syntax in a way that depends on the run-time value of a variable.)
You're not going to make anything better than Lisp in a programming language by resurrecting hacks that were consciously discarded as a bad design decades ago.
Macros work under compilation, and handle interpretation situations too. (Though not all of them; certain trompe d'oeil tricks are possible with fexprs, since they can have access to the contents of the run-time lexical environment, and the syntax, simultaneously, making it possible to interpret the syntax in a way that depends on the run-time value of a variable.)
You're not going to make anything better than Lisp in a programming language by resurrecting hacks that were consciously discarded as a bad design decades ago.