Hey Sergey,
I did the work on the Clojure TIM. I published a report of my findings at
[1]. At least three of the roadblocks that I encountered were fixed in
Terracotta 3.0.1 [2].

I believe the TIM works with Clojure 1.0, but it's been several months since
I've looked at the code. There are still some issues with the Terracotta
Integration:

1. It requires runtime replacement of some Clojure classes (which is fairly
simple with Terracotta). It would be nice if these changes could be
integrated into the Clojure codebase. It is daunting to think of having to
maintain a set of changes that are replaced at runtime by Terracotta, but
this could be done against each stable release of Clojure.

2. Currently the Clojure TIM shares all Vars, which causes a problem because
the root binding of a Var can possibly be a non-portable class (such as an
IO stream, or database connection...instances of these cannot meaningfully
be shared across VMs). One (currently half pursued avenue) is to setup a way
to share only certain Vars perhaps by adding some metadata that indicates
the Var should be shared.

3. There is still a problem about how dynamically compiled classes should be
shared across VMs. I believe the current TIM just permanently caches
dynamically compiled classes, and they are never garbage collected. This
might be a problem if many dynamically compiled classes are created, but in
practice it may not be a problem depending on the circumstances.

I would love to hear of people's experience using this TIM. This was an
academic exercise for me and I have not pursued this much more, because I'm
not using it, and I haven't heard from anyone who is using it. I'd be glad
to pick back up on this work and/or to add accept contributions from others.

Paul


[1] http://docs.google.com/Doc?id=dg7c7v49_241g5t8tqsv
[2] http://paul.stadig.name/2009/04/terracotta-bug-reports.html

On Sun, Nov 15, 2009 at 2:47 PM, Sergey Didenko <sergey.dide...@gmail.com>wrote:

> Hi from a Clojure newbie!
>
> I have read the april thread "Clojure + Terracotta Update" and it
> looks pretty positive.
>
> A few question for TIM users:
>
> Is there newer version than
> http://github.com/pjstadig/tim-clojure-1.0-snapshot ?
>
> Are there still bugs?
>
> Can it be called production ready?
>
> Regards, Sergey.
>

-- 
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