On Apr 23, 2:43 pm, Stuart Sierra <the.stuart.sie...@gmail.com> wrote:
> 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".
>
It's definitely interesting. I saw a presentation on X10 at ECOOP and
met some of the devs at IBM Research when I spoke there subsequently.
Full of neat ideas, including vectors as multidimensional array
indexes/ranges.
The notion of 'places' is the most interesting, as we'll need
something like this even within process to deal with non-uniform
memory access + multicore. Not something Clojure would tackle
directly, but when the systems-level support comes around, something
to look into (like putting agents in places).
Rich
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---