I just thought about this recently, but does the value-oriented nature of
clojure mostly void the need for a cycles-aware GC?  It seems like you
won't ever have cycles without identities, or pointers (java references).
 Maybe this would be a problem only when you need identities, ie deftype or
defprotocol implementing objects.


On Thu, May 30, 2013 at 8:15 AM, Timothy Baldridge <tbaldri...@gmail.com>wrote:

> No, you're not missing something. In the past I've turned down the idea of
> using RPython due to the lack of threading support. But in the past year
> major, major headway has been made (as you mentioned) so perhaps RPython
> isn't as crazy of an idea after all.
>
> As far as a GC goes, yes, RPython can use one of many JITs, with a
> simple command-line switch, the RPython translator can create binaries that
> use reference counting, Boehm GCs or a custom mark-and-sweep generational
> (compacting?) GC. The only downside is that IIRC the more complex GCs are
> not yet thread-safe. But once again, major work is being done there.
>
>
> Timothy
>
>
> On Thu, May 30, 2013 at 4:51 AM, Dax Fohl <dax.f...@gmail.com> wrote:
>
>> I've got no idea about RPython itself, but the PyPy toolchain takes an
>> interpreter for any language specified in RPython, and generates a native
>> interpreter for that language, complete with JIT, garbage collection, etc.
>>  (Here's an example
>> http://morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html
>> ).
>>
>> Given there's an RPython interpreter for Python (aka PyPy), which
>> dynamically generates the JIT, GC, etc, it seems logical that one could
>> write an RPython interpreter for Clojure in the same way and get all the
>> benefits of their toolchain.  Apparently they've got STM working there too.
>>  And my understanding is that their generated tracing JIT is awesome for
>> things marked as immutable (I forget where I read that), which would have
>> insane performance consequences for Clojure.
>>
>> On Thursday, May 30, 2013 6:11:38 PM UTC+8, Michael Klishin wrote:
>>>
>>> 2013/5/30 Dax Fohl <dax....@gmail.com>
>>>
>>> Am I missing something?  What are the downsides of this approach?
>>>
>>>
>>> is RPython garbage collected? Key ideas in Clojure pretty much assume
>>> memory management is not something you
>>>  have to worry about.
>>>
>>> What about concurrency primitives? Clojure builds its reference types on
>>> top of JDK/.NET ones (and mimics them
>>> in ClojureScript).
>>> --
>>> MK
>>>
>>> http://github.com/**michaelklishin <http://github.com/michaelklishin>
>>> http://twitter.com/**michaelklishin <http://twitter.com/michaelklishin>
>>>
>>  --
>> --
>> 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
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
>
> --
> “One of the main causes of the fall of the Roman Empire was that–lacking
> zero–they had no way to indicate successful termination of their C
> programs.”
> (Robert Firth)
>
> --
> --
> 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
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to