>From the first blog post: >Well, it happens that the CnC notion of a step is a pure function. A step does >nothing but read its inputs and produce tags and items as output. This design >was chosen to bring CnC to that elusive but wonderful place called >deterministic parallelism. The decision had nothing to do with language >preferences. (And indeed, the primary CnC implementations are for C++ and >Java.) Yet what a great match Haskell and CnC would make! Haskell is the only >major language where we can (1) enforce that steps be pure, and (2) directly >recognize (and leverage!) the fact that both steps and graph executions are >pure.<
Maybe a good enough implementation can be done in D2 too. http://software.intel.com/en-us/blogs/2010/05/27/announcing-intel-concurrent-collections-for-haskell-01/ http://software.intel.com/en-us/blogs/2010/06/01/a-tour-of-haskell-cnc-schedulers/ http://software.intel.com/en-us/blogs/2010/06/03/new-haskell-cnc-release-013-adds-parallel-for-loops/ http://software.intel.com/en-us/blogs/2010/06/07/parallel-performance-in-intel-concurrent-collections-for-haskell-an-in-depth-example/ Bye, bearophile
