I see Yegge’s Lisp is not an Acceptable Lisp post has been submitted to reddit again. What he actually means is I don’t like Lisp.
Lisp is an Acceptable Lisp
If a Lisp has s-expressions, cons cells and atoms, it is probably an acceptable lisp even if it isn’t to you or Yegge. Emacs Lisp – fine1, cripple scheme from SICP – fine, SBCL – fine, Clojure fine. Racket fine. They’re all fine perfectly acceptable lisps.
I don’t care to dispute any of his points – none of them have anything to do with lispiness. They are just reasons he doesn’t like lisp.
A programming language doesn’t owe you anything. If I said Perl 5 is not an acceptable Perl maybe because it isn’t fast enough, or I’m not good enough to write a parser and port it to alternative runtimes people would rightly think I was crazy. Those complaints have nothing to do with what makes Perl Perl.
Ruby is not a Lisp
The related meme Ruby (or Python or Perl) is an acceptable Lisp is even more ridiculous. Roughly translated that means I don’t know what Lisp is. Yes, even if it is Norvig saying it.
I can’t [be bothered to] define precisely what makes a Lisp, but I know what it is when I see it. Ruby aint it.
I thought the X is or is not an acceptable Lisp had gone for good.
I may be a couple of years late to this rant, but it felt good to get it off my chest.
1. Obviously I have plenty of complaints, like lack of proper lexical scoping (require ‘cl hacks not withstanding) and reader macros, but it is still an acceptable, even a pretty good lisp.
You said it my man.
The comment thread in yegge’s piece is also quite instructive. Seibel and Costanza and others tried to illuminate him (to what avail? Who knows, but he did proceed to write his js2 thingie in elisp, so maybe it worked).
And enough of this madness with the “I want to be lisp when I grow up” languages…
Reframe it so you don’t repeat the frame.
Ruby is not LISP or Ruby is LISP or Ruby is a LISP or Ruby is not a LISP re-enforces the that idea that Ruby is related to LISP based on “Acceptable lisp”.
Can you figure out a way to say this such that the two concepts are not truly connected?
The perl community had a similar problem, people said perl was dead (far from it) and then others responded to say perl was not dead. This did the same thing. Perl is alive is related but doesn’t restate the frame of perl is dead. I prefer PERL LIVES in a Frankenstien monster sense because that makes perfect perl sense.
TCL is closer to an acceptable lisp than ruby is. Ruby is incapable of LISP?
What do you think.
@joe-random – comments are probably the reason why some of these a-listers are valuable. They provide better content than the main article.
And I used his js2 mode briefly. I wasn’t that impressed: due to his view that indenting was too hard too implement, it was painful to use, *and* it locked up from time to time. It’s nice to see someone using emacs lisp as a proper language though, to implement something like a parser.
@Anonymous –
“Reframe it so you don’t repeat the frame.”
You’re right, I should have said that Ruby is merely an inferior version of Perl 😉 I kid, I kid, ruby-lovers (although to be honest I don’t really know Ruby well enough to say that, and I don’t really care *that* much)
“Can you figure out a way to say this such that the two concepts are not truly connected?”
Other than saying “Ruby is a slow, heteroiconic 90s language without macros”, not off the top of my head I’m afraid…
For Perl, I don’t think that saying it is alive or dead helps or hinders. The guys making the decisions on whether or not to use it for new projects aren’t reading our blogs.
And I hadn’t even thought of Tcl for ages, but yes. It is much closer to Lisp than Ruby. I guess it is as close as you can get without sexprs.
@joe-random
This is old hat by now, but all Seibel did was post a single two-sentence comment which was basically the equivalent of “why did you write all that about a thing you don’t like? oh right, because you think you know better (you don’t, heh).”
His comment in full:
“I was trying to figure out why on earth you spent so much time writing about something that you apparently don’t like. Then it hit me: HCGS. So thanks for your help.” -Peter
Seibel pretty much came out looking like a sad douche who thinks his shit doesn’t stink. Costanza on the other hand, actually engaged Yegge like an adult.