Chapel (programming language): Difference between revisions

Content deleted Content added
VanishedUserABC (talk | contribs)
No edit summary
s/teh/the/
Line 1:
'''Chapel''' is a new parallel [[programming language]] developed by [[Cray]].<ref>''Modular programming languages: 7th Joint Modular Languages Conference'' by David E. Lightfoot 2006 ISBN 3540409270 page 20</ref> It is being developed as part of the Cray Cascade project, a participant in [[DARPA]]'s [[High Productivity Computing Systems]] (HPCS) program, which has the goal of increasing supercomputer productivity by the year 2010. Chapel aims to improve the programmability of parallel computers in general and the Cascade system in particular, by providing a higher level of expression than current programming languages do and by improving the separation between algorithmic expression and data structure implementation details.
 
Chapel, the '''Cascade High Productivity Language''', supports a [[multithreaded]] parallel programming model at a high level by supporting abstractions for data parallelism, task parallelism, and nested parallelism. It enables optimizations for the locality of data and computation in the program via abstractions for data distribution and data-driven placement of subcomputations. It allows for code reuse and generality through [[object-oriented]] concepts and [[generic programming]] features. For instance, Chapel allows for tehthe declaration of [[Locale (computer hardware)|locales]].<ref>''Future Information Technology, Part I: 6th International Conference'' edited by James P Park, Laurence T Yang 2011 ISBN 364222332X page 285</ref>
 
While Chapel borrows concepts from many preceding languages, its parallel concepts are most closely based on ideas from High-Performance Fortran ([[High Performance Fortran|HPF]]), [[ZPL (programming language)|ZPL]], and the [[Cray MTA-2|Cray MTA]]'s extensions to [[Fortran]] and [[C (programming language)|C]].