Hiya,

Saw this today, and its syntax is intriguing.
    * http://chapel.cray.com/

Description: 
      Chapel is a new parallel programming language being developed by Cray
      Inc.  as part of the DARPA-led High Productivity Computing Systems
      program (HPCS).  Chapel is designed to improve the productivity of
      high-end computer users while also serving as a portable parallel
      programming model that can be used on commodity clusters or desktop
      multicore systems.  Chapel strives to vastly improve the
      programmability of large-scale parallel computers while matching or
      beating the performance and portability of current programming models
      like MPI.

      Chapel supports a multithreaded execution model via high-level
      abstractions for data parallelism, task parallelism, concurrency, and
      nested parallelism.  Chapel's locale type enables users to specify and
      reason about the placement of data and tasks on a target architecture
      in order to tune for locality.  Chapel supports global-view data
      aggregates with user-defined implementations, permitting operations on
      distributed data structures to be expressed in a natural manner.  In
      contrast to many previous higher-level parallel languages, Chapel is
      designed around a multiresolution philosophy, permitting users to
      initially write very abstract code and then incrementally add more
      detail until they are as close to the machine as their needs require.
      Chapel supports code reuse and rapid prototyping via object-oriented
      design, type inference, and features for generic programming.

      Chapel was designed from first principles rather than by extending an
      existing language.  It is an imperative block-structured language,
      designed to be easy to learn for users of C, C++, Fortran, Java, Perl,
      Matlab, and other popular languages.  While Chapel builds on concepts
      and syntax from many previous languages, its parallel features are
      most directly influenced by ZPL, High-Performance Fortran (HPF), and
      the Cray MTA's extensions to C and Fortran.

Or more usefully - copied from the download, two examples:
   * Generic linked list : http://pastebin.com/f75623d12
   * Producer Consumer : http://pastebin.com/f6f69a91d

Interesting to note the use of a yield keyword used in a very python like way. 
The fact it supports generic containers cleanly, and yielding behaviour 
strikes me as an interesting example to play with making a mini axon for. 
(Adapting the two above exampes would be where I'd personally start)


Michael

-- 
You received this message because you are subscribed to the Google Groups 
"kamaelia" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/kamaelia?hl=en.

Reply via email to