




Scheme Programming Language









Macros for seriously interested people
Joe, y'know?, in Mathematica, just about every line of code is like a lisp's macro, except that it's more powerful? This analogy is helpful: in imperative lang, their people are often proud and wonder at the power of their eval() function. For example, Perl, PHP, Python all have eval(). I explain, in pratical ways, that lisp's inherent symbol system, basically makes the entire language a eval system. (see What is Expressiveness in a Computer Language http://xahlee.org/perlpython/what_is_expresiveness.html ) Sometimes few months ago, i was studying lisp macros, and realized a similar analogy. One often hear Lisper wonder and marvel about lisp's macro system, which gives the lisp touting right as a metaprograming language. But in Mathematica, in practical sense, almost every line of code functions as lisp's macro; the entire language is just one giant macro system! It is not a wonder, that one line of Mathematica is like 10 to 100 lines of Common Lisp. (not considering the mathematical function in mathematica, like derivative, integral, differential equation, transcendental (math) functions... etc. If we consider these, then one line of mathematica is pratically like one thousand lines of Common Lisp, Allah!) Xah x@xahlee.org http://xahlee.org/
On May 21, 8:58 pm, Xah Lee <x@xahlee.org> wrote: > Joe, y'know?, in Mathematica, just about every line of code is like a > lisp's macro, except that it's more powerful?
I'm afraid that people like Harrop have made me jaded. Show me something. Make my jaw drop.
On May 21, 11:58 pm, Xah Lee <x@xahlee.org> wrote: > one line of mathematica is pratically like one thousand lines of Common Lisp
Your statement reminds me of "Master Foo and the Ten Thousand Lines"[1] except that Master Foo knows what he's talking about. Aziz,,, [1] http://catb.org/~esr/writings/unixkoans/tenthousand.html 




