Clojure reactions?

Discussion of other Lisp dialects (Arc, Clojure, AutoLisp, XLISP, etc.)
Wodin
Posts: 56
Joined: Sun Jun 29, 2008 8:16 am

Re: Clojure reactions?

Post by Wodin » Fri Dec 05, 2008 4:06 am

Catching up on the Clojure group, I saw this message:

http://groups.google.com/group/clojure/ ... b58782ca0b

I found this part interesting:
Proxy generation was the last runtime code-gen/classloader
requirement. So the path is clear for building Clojure apps without
runtime codegen, for delivery in those environments that preclude it
(e.g. Android, unsigned applets). Looking forward to feedback from
people trying to reach those targets.

fogus
Posts: 4
Joined: Mon Jun 30, 2008 7:59 am
Location: DC
Contact:

Re: Clojure reactions?

Post by fogus » Thu Jan 08, 2009 2:03 pm

findinglisp wrote:So, what's your reaction, fogus? What do you like most about Clojure, and what do you think still needs improvement?
I am loving it so far, although there are a few minor points that annoy me from time to time. Probably the most annoying (although it's probably my own psychosis) is that it does not seem that Clojure quite knows how it wants to treat Java. Surely, it puts Java at the forefront of it's thoughts with its strong support for using and extending Java libraries and even extending them -- that's not my issue (instead, I see it as a great strength). Rather, I dislike that there is a blurring between understanding Clojure and Clojure's Java implementation. That is, in order to really (IMO) get to the heart of Clojure you literally have to know many of its implementation details. For example, Clojure uses the sequence abstraction instead of the cons cell which proves to be extremely powerful. However, there is a hard difference between things that are sequences and sequence-able and the only ways to know which is which is by hacking around with them and/or reading the Java source. It's a minor thing most likely, but it puts an unnecessary conceptual burden on someone trying to learn Clojure.
-m
(comment http://fogus.me)

stefano
Posts: 3
Joined: Sun Aug 17, 2008 6:55 am

Re: Clojure reactions?

Post by stefano » Fri Jan 09, 2009 6:39 am

fogus wrote:
findinglisp wrote:So, what's your reaction, fogus? What do you like most about Clojure, and what do you think still needs improvement?
I am loving it so far, although there are a few minor points that annoy me from time to time. Probably the most annoying (although it's probably my own psychosis) is that it does not seem that Clojure quite knows how it wants to treat Java. Surely, it puts Java at the forefront of it's thoughts with its strong support for using and extending Java libraries and even extending them -- that's not my issue (instead, I see it as a great strength). Rather, I dislike that there is a blurring between understanding Clojure and Clojure's Java implementation. That is, in order to really (IMO) get to the heart of Clojure you literally have to know many of its implementation details. For example, Clojure uses the sequence abstraction instead of the cons cell which proves to be extremely powerful. However, there is a hard difference between things that are sequences and sequence-able and the only ways to know which is which is by hacking around with them and/or reading the Java source. It's a minor thing most likely, but it puts an unnecessary conceptual burden on someone trying to learn Clojure.
-m
This issue has more to do with the fact that the Clojure implementation is very young rather than with the language itself. As the implementation matures and more documentation becomes available, I think those problems will disappear.

Wodin
Posts: 56
Joined: Sun Jun 29, 2008 8:16 am

Re: Clojure reactions?

Post by Wodin » Wed Jul 29, 2009 9:05 am

By the way, the following was just posted to the Clojure mailing list by Baishampayan Ghose:
http://java.sun.com/developer/technical ... index.html

It's an article about features of JDK7 that are designed for dynamically typed languages. The article doesn't mention Clojure, but it does mention Armed Bear Common Lisp, Groovy, Jython, JRuby and something called Yoix that I've never heard of.

The Summary says:
Over the years, the JVM has been host to a growing number of languages, including implementations of dynamically typed languages such as Ruby and Python. Support for dynamically typed languages in the JVM is very attractive to application developers who build applications in these languages. That's because dynamic typing gives developers a lot of flexibility and the JVM delivers a lot of execution efficiency.

However, implementers of compilers for dynamically typed languages have found it difficult to meet the JVM bytecode requirements for method invocation. JSR 292 addresses that problem by providing a new bytecode, invokedynamic, and a new linkage mechanism based on method handles. Also being investigated for inclusion in JSR 292 is interface injection, the ability to modify classes at runtime so that they can implement new interfaces.

Wodin
Posts: 56
Joined: Sun Jun 29, 2008 8:16 am

Re: Clojure reactions?

Post by Wodin » Wed Jul 29, 2009 11:21 am

It seems Rich doesn't think the above will have much impact on Clojure:
* rhickey would much rather have TCO and tagged numbers than invokedynamic

findinglisp
Posts: 447
Joined: Sat Jun 28, 2008 7:49 am
Location: Austin, TX
Contact:

Re: Clojure reactions?

Post by findinglisp » Thu Jul 30, 2009 9:20 am

Bummer. It would be nice if the JVM was a bit more open to other languages. The JVM itself just has so many Java-specific assumptions embedded into it. That's understandable given its history, particularly early-on when JVM performance was so bad, but it really hurts when you're trying to implement a non-Java language on top.
Cheers, Dave
Slowly but surely the world is finding Lisp. http://www.findinglisp.com/blog/

Wodin
Posts: 56
Joined: Sun Jun 29, 2008 8:16 am

Re: Clojure reactions?

Post by Wodin » Thu Jul 30, 2009 9:34 am

findinglisp wrote:Bummer. It would be nice if the JVM was a bit more open to other languages. The JVM itself just has so many Java-specific assumptions embedded into it. That's understandable given its history, particularly early-on when JVM performance was so bad, but it really hurts when you're trying to implement a non-Java language on top.
Well, I think the point of the article is that they are working on it. More slowly than would be nice, but they are working on it :)

Post Reply