On Thursday, November 17, 2011 11:07:02 AM UTC-5, tbc++ wrote:
>
> True...true, it supports it, but it's still a "2nd class citizen". For
> instance, we don't have lein, ring, parts of contrib, IDEs, etc. All
> the examples, all the books are all about Clojure on the JVM. Do
> anything else and you can forget using Clojars, and 90% of the
> ecosystem built around Clojure.
>
Regardless of what you label it, I agree with you in that the other 
clojures lack great ecosystem tools.
 

> Finally Clojure does make a few assumptions about the underlying VM.
> Clojure assumes that the entire system will run on a VM that only
> supports OOP. Hence every single function is a object. Now look at
> PyPy or JS, here functions are true values in the VM. So the best way
> to implement Clojure in PyPy would be to take advantage of these
> facilities. But then you're really re-defining what clojure is and how
> it runs. PyPy has a very advanced JIT that works well with dynamic
> typing, but if you implement stock Clojure on PyPy you'd be ignoring
> all that. Look at RT.java, you'll see tons of "if (obj is ISeq)... if
> (obj is Array)...". Much of that could be thrown away in a PyPy
> implementation, but if you threw that away, now you have a headache
> when the Clojure devs start updating the code, and you have to port
> those changes to your code base.
>
I find this response the most interesting with respect to the OP's 
question. Can you elaborate how you re-define what clojure is? Then 
assuming we make no claim on ease of updating or strict adherence to what 
Clojure is defined to do, in other words we are making an evolution of 
ClojureScript, what would the PyPy implementation look like? How would 
things be simpler, and more complicated? What's the minimal set of 
functionality that needs to be implemented in RPython so that we can begin 
to define clojure.core.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to