On Wed, Jan 08, 2014 at 01:13:21AM +0000, Peter Corlett wrote:
On Tue, Jan 07, 2014 at 10:50:59PM +0000, Liam Proven
wrote: [...]
But then again, it does fit perfectly with the
smug, condescending,
patronizing tone of many other RPN users I've met online. They are
not pleasant people, in my general experience. Of course, there are
exceptions, but Ken here is not one.
It's the same kind of superior smugness you get from Lisp zealots, who
also use ten-dollar words like "homoiconcity" and claim that it's the
only tool that can bring us artificial intelligence, despite the fact
that it has yet to actually produce any AI of note despite having been
around for 56 years.
Well, it doesn't help that the definition of "AI" is about as solid and
nailed down as quicksilver and changing over time. The complex expert
systems realized in Lisp would at one point in time have counted as
being pretty much AI, but then we understood better how to build those
systems and the target moved on.
It does however make sense once you realise that Lisp
source code is
also Polish Notation.
What does _that_ have to do with it?
Incidentally, "homoiconicity" just means
that they wrote the language
back-end and then knocked off without bothering with the front-end, so
you have to enter your program as a raw AST instead. The apologists
claim that the lack of a front-end is a feature because it makes
macros easier to write.
It does. Comparing C macros with Lisp macros is like sticks and stones
versus a machine shop ;-)
Adding that flexibily to a C style syntax would be an interesting
challenge.
That real programs use macros rarely or not
at all, but do contain a lot of arithmetic that would benefit from
being presented in a more conventional form, has apparently passed
them by.
You seem to be out of touch with reality when you state that "real
programs use macros rarely or not at all". Would QPX count as a "real"
program for you? It does handle non-trivial real world problems: it is
the core behind the flight search engine that (among IIRC others) powers
orbitz.com and sees quite a bit of traffic and is written in Lisp (with
some non-Lisp glue/helper code) . Oddly enough, from what I read about
it on the the net, it appears to be about half macros ...
And even in my own, far less complex and powerful Lisp programs, I find
myself using defmacro quite few times - because it is useful and makes
things easier, for instance by reducing boilerplate code quite bit.
Kind regards,
Alex.
--
"Opportunity is missed by most people because it is dressed in overalls and
looks like work." -- Thomas A. Edison