On 03/25/2011 01:58 PM, Hugo Ferreira wrote: >>> Assuming all shared data structures are immutable is it possible to: Well, Java has fully multi-threaded garbage collection, so there is no point that it is possible to do it. The problem is that it has a cost, and the cost is a huge slowdown on mono-threaded programs. Since most OCaml programs are mono-threaded, and only few programs would really benefit from multi-threading, we are trying to come up with a solution that would satisfy both worlds. Mono-threaded programs would still run as fast (possibly using a non-reentrant version of the runtime, to avoid the cost of TLS if it is visible), and multi-threaded programs can be written easily. Of course, sharing structured mutable data between threads will not be possible, but actually, it is a good thing if you want to write correct programs ;-) -- Fabrice