Luke Palmer writes: > > Do you think that Lisp macros make the language more powerful than > > others (eg Perl)? I mean, do they really give a competitive > > advantage, or are they being overrated (see below)? > > If you define "powerful" as "can do more things," then of course not.
No, of course. I guess any language is a Turing Machine, after all... I mean power in the sense of "more high level", that could be measured in (fewer) lines of code. Would I exaggerate if I said that the C/Perl compression rate could approach 10 in certain cases? Then I could point you to some benefits Perl has over C, for some classes of problems: faster development, easier maintenance, capability to better develop bigger systems. And Perl excels in solving a wide range of problems. > Lisp is implemented in C, and C's macros are certainly not essential > to its functionality. But think of what macros in general provide: > > * Multi-platform compatability > * Easier maintenance > > Perl has no problem with the former. It's multi-platform by nature. > But is has as much of a problem with the latter as any other language, > except Lisp. That is one of the continuing strong points of Lisp: it > can change very, very quickly. Yes. And what would this kind of "meta programming" allow? Perhaps thoughts like this: "Now I need code for these n cases. I will just write a macro." Maybe it makes complex problems suddenly appear more "tractable", allows for more code reuse/factorization? > However, they are intending to make it possible to write things like > C<if> with subs, which will imply most of the power of > macros... though I imagine it won't be possible to have the level of > introspection lisp macros have (infinite). But, that design team is > very clever, so you never know. Well, I have to confess that I'm asking about macros, but I don't even remember when was the last time I used a closure ;-) > This kind of thing should reveal itself in the next Apocalypse. Then > we can see Larry's "vision," and make appropriate adjustments in terms > of that. Right now, it's very fuzzy. Nice, I'm looking forward to reading it. > Oh, and you aren't being inconvenient. These kinds of questions are > what the list is for: ask away! Thanks! Best regards, -- Adriano