Arc Forumnew | comments | leaders | submitlogin
2 points by aquagnu 5852 days ago | link | parent

OK. Well, one of the famous and evident "powers" of Lisp - is the Lisp's macros. Does language like Pure (Q) is "Lisp macros's killer" (language based on term rewriting rules) ?


2 points by cchooper 5848 days ago | link

Well term rewriting languages have been around for over 40 years and Lisp isn't dead yet! :)

The reason term rewriting can't replace macros is that the power of macros doesn't come from their similarity to rules, but from the fact that they run before normal execution. This two-step process makes macros an extension to the language's syntax. Pure doesn't have that ability. Pure's rules are more like a replacement to Lisp's functions, rather than Lisp's macros.

Ultimately, term rewriting and normal functional programming (lambda calculus) are very similar. I don't think either of them have much of an advantage over the other.

-----