

Matz: Ruby's Lisp features (2006) - juliangamble
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/179642

======
jrochkind1
Take lisp, remove s-expressions.... what are the remaining lisp-like parts?

Ruby's smalltalk influence is pretty clear, and I guess smalltalk says it's
lisp-influenced... I dunno. I am dubious that Matz started with lisp rather
than smalltalk.

~~~
6cxs2hd6
Although removing s-expressions isn't necessarily critical -- see Dylan, Honu,
sweet expressions, etc. -- I think removing macros means you no longer have a
lisp.

~~~
sjtgraham
Removing homoiconicity means you no longer have a lisp.

~~~
anaphor
I disagree, by that definition Racket is not a lisp. AST macros are enough
imo.

~~~
fsck--off
Racket _isn 't_ a Lisp. All of the Lisps have "Lisp" in their name, e.g
MacLisp, Common Lisp, ZetaLisp, Interlisp, EuLisp, Elisp, etc.

Look at the conversation between kragen and lispm here [1].

Of course you can almost always informally call various Scheme dialects and
Clojure "Lisps" (I do it all the time) because they draw very heavily from
Lisps.

[1]
[https://news.ycombinator.com/item?id=6068732](https://news.ycombinator.com/item?id=6068732)

~~~
6cxs2hd6
I said lisp not Lisp. I think it's meaningful to refer to things like Scheme,
Racket, Arc, Clojure, Dylan, Honu et al as lowercase lisps.

For example I believe those tick off all 9 items on pg's list:
[http://www.paulgraham.com/diff.html](http://www.paulgraham.com/diff.html)

Disclaimer for language lawyers: Using lowercase lisp is not intended to
infringe Lisp (R), a registered trademark of Sole Arbiter of What's a Lisp
Corporation. ;)

------
lispm
My slightly different take:

    
    
      * take Emacs Lisp language (one after CL) and byte code compiler
      * take Emacs Lisp implementation with simple GC and byte code virtual machine
      * remove macros, s-expression.
      * add simple object system (much simpler than CLOS).
      * add blocks, inspired by higher order functions.
      * add methods found in Smalltalk.
      * add functionality found in Perl (in OO way).
    

Yukihiro Matsumoto mentioned in some talk that the most Lisp he understood was
some Emacs Lisp and that he studied the Emacs Lisp implementation.

------
informatimago
Matzacred Lisp. :-(

------
kbd
(2006)

