News for hackers. Stuff that matters.
Re:Dialects of Lisp by pnathan on Friday February 22, 2013 @01:33PM (#5265768)
I upvoted this because I agree. I just spent about a week writing an app in Clojure, and it doesn't feel entirely like something in the Lisp Way[1]. That doesn't make it wrong, bad, immoral, etc; it is different. It has some interesting ideas which I think should be fed back into other Lispy languages via libraries (easy parallelism, immutability).

[1] This is the hard to explain part.

Re:Dialects of Lisp by chc on Friday February 22, 2013 @02:02PM (#5265964)
The idea that Lisp 1, Typed Racket, Dylan and Common Lisp are all Lisp but Clojure is not seems really weird to me. It feels like up till the '80s, Lisp was free to make progress and differences were embraced (even if that embracing was of the form "My Lisp is superior because of its differences from yours!"), but now any progress makes you "not Lisp." From people's consistent inability to articulate a meaningful distinction, I'm almost convinced that the idea of Clojure as "not really Lisp" is mostly a distaste for having reader support for vectors instead of requiring you to write (vector thing1 thing2) like most Lisps would.

Yes, Clojure isn't exactly like older Lisps. Why should it be? Those Lisps are all different from each other as well. If new Lisps can't introduce new ideas, what is the point?

Re:Dialects of Lisp by pnathan on Friday February 22, 2013 @04:04PM (#5266790)
Personally, I don't think Clojure should exist as a production language, bluntly. I think it should have been a skin on ABCL. But that is water long under the bridge.

But I would describe Clojure as "not Lispy" because its behavior seem to fall into the compilation idea more than the interpretive idea. I would execute `lein run` and a failure would drop me out into the Linux shell. An equivalent command in CL would throw a condition and drop me into an interactive mode to patch it up. I fully acknowledge that my tool use may not have been ideal, of course. But my Clojure was giving me a compile-run-test cycle as opposed to the the interactive editor/repl cycle of CL. Errors in the source would cause exceptions and crashing in the compile phase; errors in the runtime would cause a crash.

I want to hone in on the second point you made, in terms of new ideas. New ideas are good (c.f., Kernel). New ideas should be aggressively pursued. I draw the line when someone has a slightly varied idea and wants to fork out something & get a community going just for that slight variance. That's just annoying and forks effort. If the new idea is really radical and can't be reconciled with extant tools, of course it deserves to be a new thing. Lisps are an insanely awesome tool for exploring semantics and I hope they keep getting created and churned on for decades to come. I just hope that the ideas which are reconcilable to production systems are reconciled so that we don't fragment further.

Re:Dialects of Lisp by carry_bit on Friday February 22, 2013 @06:02PM (#5267511)
You can fire up Emacs and go to town with Clojure using SLIME, Clojure isn't really any different in that respect.
Re:Dialects of Lisp by pnathan on Friday February 22, 2013 @06:27PM (#5267609)
Oh, that's good to know. I had tried to get SLIME playing well with Clojure but there was some issue where it didn't play nice with Common Lisp-configured SLIME and I bailed out.
Re:Dialects of Lisp by lispm on Saturday February 23, 2013 @05:24AM (#5269236)
The idea is that the core Lisp languages are Lisp 1, Lisp 1.5, Maclisp and Common Lisp. Then we can add to this: Franz Lisp, Standard Lisp, ISLisp and Emacs Lisp.

Porting code between these is relatively easy or even trivial when only the core is used.

Re:Dialects of Lisp by ScottBurson on Friday February 22, 2013 @03:30PM (#5266575)
If you want immutable collections in Common Lisp, try FSet: http://www.cliki.net/FSet
Re:Dialects of Lisp by pnathan on Friday February 22, 2013 @04:05PM (#5266798)
Yeah, there are a couple immutable collections out there! I hope to get using them soonish.