Possibly of interest: I saw a presentation about IBM's experimental X10 language. (Why they named it after the most annoying ad campaign in the history of the web, I'll never know.)
X10 is an extension to Java for concurrency and cluster computing. The basic idea is to make it possible to write a normal, procedural program, with a few extra keywords that handle concurrency. It has some things in common with Clojure. It separates mutable ("var") & immutable ("val") data, and has special keywords to indicate that a particular computation is synchronous ("finish") or asynchronous ("async"). A difference from Clojure is that X10 is designed to operate across multiple processors/machines, even across different architectures, within a single program (e.g. you could offload math-intensive operations to a GPU). Data locality is enforced -- a thread can only manipulate objects within its local address space (called a "place"). If you want to manipulate data in another "place", you have to send the code there with an operator called "at". -Stuart Sierra --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---