
Hi all, I start reading about Closure language (http://clojure.org) and it seems an interesting language. I don't know much about this language especially in comparison to Haskell feature by feature. Could it perhaps be what Haskell on JVM would have been with the dressing of Lisp syntax? Any one would like to chime in your comments about the language, in comparison to Haskell? Thanks, Ed

tretriluxana.s:
Hi all,
I start reading about Closure language (http://clojure.org) and it seems an interesting language. I don't know much about this language especially in comparison to Haskell feature by feature. Could it perhaps be what Haskell on JVM would have been with the dressing of Lisp syntax?
Any one would like to chime in your comments about the language, in comparison to Haskell?
It's a Scheme-like language that targets the JVM. Most of the comparisons between Scheme-like languages and Haskell hold. It provides some form of built-in STM, and libraries for some persistant data structures, which is an interesting development. -- Don

On Mon, 10 Aug 2009 09:35:48 -0700, Don Stewart
tretriluxana.s:
Hi all,
I start reading about Closure language (http://clojure.org) and it seems an interesting language. I don't know much about this language especially in comparison to Haskell feature by feature. Could it perhaps be what Haskell on JVM would have been with the dressing of Lisp syntax?
Any one would like to chime in your comments about the language, in comparison to Haskell?
It's a Scheme-like language that targets the JVM. Most of the comparisons between Scheme-like languages and Haskell hold.
It provides some form of built-in STM, and libraries for some persistant data structures, which is an interesting development.
One advantage to Clojure over implementations of Scheme is that there is a packaged SLIME-based [1] editing environment available for Clojure, called "Clojure Box" [2] (inspired by Lispbox [3]). Although there are a number of Scheme-modes available for Emacs, most notably Quack [4], currently, there are no SLIME-based IDE's for any implementation of Scheme, the most similar packaged Emacs-based tool available being Gauchebox [5], which is not SLIME-based. Another advantage is the ability to use Java libraries. On the other hand, two disadvantages with Clojure compared to most implementations of Scheme are the lack of first-class continuations and tail-call optimization (TCO). Another possible disadvantage of Clojure (depending on one's perspective) is its emphasis on practical over theoretical aspects. Once, I visited the #clojure IRC channel on Freenode to ask a question about getting Clojure Box to work together with Lispbox, and when I happened to mention the relevance of the field of "PLT" (Programming Language Theory), one of the other users online didn't know what "PLT" stood for; I had to explain the definition of the acronym, and then explain what the field concerned. Apparently, the other users online at that time were more interested in industrial programming than in research or hobby-related study. Another possible disadvantage of Clojure is the lack of high-quality free online tutorials. When I asked about this issue on #clojure, the other users there suggested that I look at code, rather than at a tutorial, and when I persisted in asking about a tutorial, they then recommended that I purchase a for-fee book [6]. Haskell, by contrast, has many freely available online tutorials, and even some freely available online books, including RWH [7]. -- Benjamin L. Russell [1] Gorrie, Luke and Helmut Eller. "SLIME: The Superior Lisp Interaction Mode for Emacs." Based on SLIM, by Eric Marsden, mid-2003. 15 Feb. 2008. 11 Aug. 2009. http://common-lisp.net/project/slime/. [2] Hoover, Shawn. "Clojure Box." 9 May 2009. 11 Aug. 2009. http://clojure.bighugh.com/. [3] Seibel, Peter. "Lispbox." 2005. 11 Aug. 2009. http://gigamonkeys.com/book/lispbox/. [4] Van Dyke, Neil. "neilvandyke.org - Quack: Enhanced Emacs Support for Editing and Running Scheme Code." 29 June 2006. 11 Aug. 2009. http://www.neilvandyke.org/quack/. [5] Kawai, Shiro. "Gauchebox." 2 Aug. 2009. 11 Aug. 2009. http://sourceforge.net/projects/gauche/. [6] Halloway, Stuart. _Programming Clojure._ Raleigh, NC: Pragmatic Bookshelf, 2009. http://www.pragprog.com/titles/shcloj/programming-clojure. [7] O'Sullivan, Brian, Don Stewart, and John Goerzen. _Real World Haskell._ Sebastopol, CA: O'Reilly Media, Inc., 2008. http://book.realworldhaskell.org/. -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^

On 10/08/2009, at 6:34 PM, Sukit Tretriluxana wrote:
Hi all,
I start reading about Closure language (http://clojure.org) and it seems an interesting language. I don't know much about this language especially in comparison to Haskell feature by feature. Could it perhaps be what Haskell on JVM would have been with the dressing of Lisp syntax?
Any one would like to chime in your comments about the language, in comparison to Haskell?
As far as I know, the closest thing to Haskell on the JVM is CAL http://openquark.org Clojure differs from Haskell in being impure (although it does provide some immutable data structures) and in not being statically typed -- the lack of static typing is the most important difference IMHO. Tom
participants (4)
-
Benjamin L.Russell
-
Don Stewart
-
Sukit Tretriluxana
-
Tom Davies