License-wise, the Clojure implementation code is copyright by Rich Hickey, and distributed under the Eclipse Public License. Thus your code would need to be distributable with a license compatible with this license, or perhaps could be completely closed source if your code was not distributed (e.g. it was only run on your own machines, e.g. your own web servers). I'm not deeply familiar with such restrictions and the EPL -- consult someone more knowledgeable, preferably a lawyer if you are running a business based on this code, or planning to sell the code.
You could sidestep the EPL entirely if Rich Hickey was willing to license the code to you using a different license. You'd want that in writing first. Technical-wise, since you asked specifically about the STM implementation, Clojure's STM implementation relies upon most data being immutable, and on all of the mutable things being called out explicitly and known by the STM code (they are all refs, atoms, or agents in Clojure, refs being the most important for the STM implementation). If your code contained mutable data all over the place, the Clojure STM couldn't provide you the guarantees you wanted from an STM. Andy On May 29, 2012, at 3:08 PM, Edward Yang wrote: > Hello all, > > We're interested in using some of Clojure's internal libraries (in > particular, it's STM implementation), in the runtime for another programming > language. We were wondering if anyone had attempted this before, and if there > are any things to keep in mind along the way. > > Cheers, > Edward > -- > 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 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