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.

.



Relevant Pages

  • Re: Two questions together
    ... How powerful are the macros? ... > "programmable language" and as far as I know this feature is provided ... It is also said that one can hammer the Lisp so that ... I really love Lisp's syntax:) But I just want ...
    (comp.lang.lisp)
  • Re: macro for shorter array syntax
    ... How is OCaml on adding readmacros, which Lisp can do easily. ... I would not ask that of a parsed language. ... We're confident that using macros is useful to us, ... debate has legitimate points on both sides. ...
    (comp.lang.lisp)
  • Re: A "killer" macro
    ... but then Ruby is dog slow anyway: ... Having notational convenience via macros plus efficiency is a big win ... From my perspective as a Ruby programmer learning Lisp, ... thought of having a more powerful language *and* orderof magnitude ...
    (comp.lang.lisp)
  • Re: A "killer" macro
    ... Or perhaps Lisp doesn't have one thing ultra- ... with a prefix language. ... the only thing that *really* sets Lisp apart is macros. ... Ruby and C# are very different. ...
    (comp.lang.lisp)
  • Re: New book about Common Lisp: Let Over Lambda
    ... I have read every lisp book I've been able to get my hands on ... Lisp macros are not given nearly enough ... I personally consider Let Over Lambda to be an unofficial sequel ... integral parts of the language. ...
    (comp.lang.lisp)