Hello,

   I have created a way to create namespace isolation within clojure. The 
code is available on github @ https://github.com/rritoch/clojure .  What 
this new code does is it replaces the clojure.lang.Namespace/namespaces 
static property with a clojure.lang.NamespaceContainer object that is a 
version which utilizes thread local memory and facilitates creating 
separate namespace environments within a single Runtime.

To create and enter a new environment.

(clojure.lang.NamespaceContainer/enter)

This returns a pointer which can later be used to re-enter the namespace as 
the enter method also takes a single argument of that pointer.

To leave the isolation environment ...

(clojure.lang.NamespaceContainer/exit)

When used with OSGi this should make it possible to maintain a single 
Runtime per clojure version running on a system. 

To ensure maximum stability, the current namespace and all of it's 
dependent namespaces are copied into the newly created container. Once 
inside a new container, changes can be made without any risk of namespace 
conflicts with other parts of the system.

I would like to submit these features for addition to Clojure.

Best Regards,
  Ralph Ritoch

-- 
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/d/optout.

Reply via email to