Francogrex <······@grex.org> writes:
> 1) I'm new to Lisp and at work I was explaining that what I find
> beautiful in Lisp (all lisp is beautiful but what I find especially
> beautiful) is the concept of macros that make of lisp a programmable
> programming language. But then some guys from the stats department who
> are SAS addicts (those who don't know how to programm but use only
> canned procedures) said: "yeah, that's nothing new or special, you
> have macros in SAS also"... I was annoyed because I knew that somehow
> the concept of macros is SAS (or other real programming languages) is
> quite different from the macros in lisp but couldn't explain really
> how, didn't have enough knowledge of other languages. Can someone tell
> me how macros in Lisp are different?
I don't know SAS, but here's something you could manage with Lisp
macros that might be hard to do in SAS: Imagine that you deal with
a lot of data files in tab delimited form, with column headers, in
which some column contains unique symbols that might be used to index
the rows. You want to set up an environment in which by specifying
that index column, you can use the symbols as ordinary variables,
each holding a vector representing the entire row. Okay, it's an
artificial example, but it would be straightforward (if probably
unsafe) to implement in Lisp.