

Lisp-style Macros for Ruby - raganwald
http://github.com/coatl/rubymacros

======
xenophanes
I wish matz didn't remove macros in the first place.

~~~
UncleOxidant
I'm not sure he removed it, I think he just didn't want macros from the start
as I recall.

~~~
xenophanes
He has said he took lisp and removed macros. But it could have just been
conceptually, I don't know. Does anyone?

~~~
raganwald
I've read that, but I still don't grasp it. Even though he calls Ruby
"MatzLisp," it feels a lot more like "MatzSmalltalk" to me. Even without
macros, the homoiconicity of Lisp makes eval-ing lists a completely different
beast than eval-ing strings or blocks. And everything is an object, there are
no functions. And there are magic syntactic constructs like while...

But I digress. I guess he did start with Lisp and remove macros :-)

~~~
lispm
the 'MatzLisp' thing was a joke. He never understood Lisp, Lisp was too
complicated for him and wanted to do his own thing anyway.

~~~
Scriptor
I know the whole MatzLisp was a joke, but where are you getting the idea that
he never grokked Lisp?

I'm pretty sure writing an interpreter is pretty complicated as well.

~~~
lispm
watch his keynote from some last Ruby conference. He described that he tried
to learned Lisp and that he thinks it is too complicated. He is relatively
clueless about it.

Interpreters exist in dozens. In the Lisp community it is a sport to write
those. Scheme has more than a hundred implementations. Many of them are much
more ambitious than Ruby.

The Ruby implementation technique is not very advanced - it is a very simple
interpreter, hacked together. The Ruby language may be convenient to use for
scripting, but from a language implementation standpoint it is far away from
the state of the art. It shows. The Ruby implementation is about the slowest
language implementation out there.

There are dozens of Lisp implementations that are much more advanced, include
compilers, etc..

Sure, Ruby is simpler and its implementation is simpler - that's part of the
reason of its success.

