Re: A "killer" macro




Elis I found your post newbish. You want somebody else to show you a
great macro just to convince your friends that lisp is a great
language. And after doing a side by side, feature by feature
comparasion with Perl, Ruby and C# 3.0 you concluded that lisp has
nothing new to offer beside macros.

Actually the true is that people already show you great macros but
you're just unable to see them as such. It reminds me of a tv show
about Gregor Mendel, the father of genetics. It goes something like
this: Mendel shows his conclusions about experiments he done with peas
to some eminent professor and his assistent. The professor finally
says to his assistent awesome ,bravo, look what Mendel done with
peas, congratulate him. And the assistent says: But I don't eat peas.

What I like about lisp is very fast development , you get idea you try
it, fix it , there is no compiler to punch you in your nose everytime
you mispell or don't define some function , or call it with wrong
arguments, nor there are stupid scripts to load, change, reload WTF.
It's only you and the repl, you write and rewrite and stop only to do
thinking. The lisp implementation is your best friend not that boring
perfectionistic teacher that always fallows stupid rules and you're
forced to lie, cheat and use tricks only to have some fun. Lisp code
doesn't start with brilliant macros carved in stone, it's starts with
a lot of messy defuns, some classes, a lot of rewrites while you're
gaining knowledge of the probem you're trying to solve, than you're
starting to clean up the rats nest, remove unneeded globals, search
for patterns that first combine themselves in functions, and finally
when functions can't do the trick, the mighty macros took over,
Kaizen -continous change for the better, and finally there's stood
the remaining code. And it's a beatifull code, something that makes
you feel proud, and sparks the touch of creation, you feel
selffullfillment.
Eli
There's nothing special in lisp programs, the journey to write them is
magical.

After the problem is solved, you could rewrite it in different
languages, with different levels of succcess. Some of them will yield
code that's even shorter, or faster , or maybe even prettier. Question
is could you write that same code directly in you-name it language?
Well I coudn't.

Slobodan

This reply is beautiful and poetic. The passion behind LISP users is
amazing and one of the reasons that I am starting to learn LISP.

.