

MatzLisp - fogus
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/179642?matzlisp

======
pjonesdotca
This is a great quote to send on to a Java refugee hiding out programming
Ruby.

They think they've found something that's "Java done right" when they've
entered the LISP-zone.

------
stefano
After you take out s-expressions and macros, what's left is no more Lisp. What
really sets Lisp apart is the ability to _easily_ manipulate code
programmatically.

~~~
apotheon
S-expressions are not necessary to a LISP. The original language concept was
supposed to use m-expressions (somewhat more C- or Algol-like), and
s-expressions were an intermediary implementation measure.

Original LISPs didn't have the macro system everyone associates with Lisp,
either.

. . . and Matz didn't do a very good job of removing macro capabilities,
because Ruby's still halfway to CL on that score.

~~~
pjonesdotca
Actually, I think that Eric Kidd would disagree with you. He makes a great
point here: [http://www.randomhacks.net/articles/2005/12/03/why-ruby-
is-a...](http://www.randomhacks.net/articles/2005/12/03/why-ruby-is-an-
acceptable-lisp) that "In particular, macros which actually compile mini-
languages haven’t appeared yet, although they might be possible with enough
work."

One can fake a great deal of LISP in Ruby but, I would like to hear more about
your thesis of "Ruby's halfway to CL" for no other reason than I've been
spending free time "Ruby-fying" Scheme and see more of a gap than you're
implying exists.

~~~
apotheon
This is why I said "halfway". Ruby isn't a replacement for Common Lisp (or
Scheme) in the macro department; it just gets close enough that you can see
Common Lisp (or Scheme) from there.

Consider that, when speaking literally of getting halfway to something, you
have exactly as far to go still as the distance you've already traveled. It's
not like I said Ruby was _most_ of the way there, y'know.

