Aviva Directory » Computers & Internet » Programming » Chapel

Released in 2009, Chapel is a modern programming language that is parallel, productive, portable, scalable, and open-source.

Also known as the Cascade High Productivity Language, Chapel was developed by Cray and is sometimes known as Cray Chapel. The Cray Cascade project was a participant in phase I, II, and III of DARPA's High Productivity Computing Systems program, beginning in 2002, which has the goal of increasing supercomputer productivity by 2010.

Today, Chapel's design and development is led by Cray, in cooperation with contributors from academia, computing centers, and industry. The language is also being developed at GitHub and SourceForge, under the Apache version 2.0 license, which makes use of other third-party open-source packages under their own licenses.

Chapel was designed from first principles, rather than as an extension of an existing language, although it was influenced by Ada, C, C#, C++, Fortran, Java, and the Cray MTA/XMT extensions to C and Fortran.

Chapel uses a multithreaded execution model through high-level abstractions for data parallelism, task parallelism, concurrency, and nested parallelism. Unlike most other high-level parallel languages, Chapel is designed around a multiresolution philosophy, allowing programmers to write abstract code initially, adding more detail later.

Chapel is a multiplatform language, supporting Linux, macOS, Windows (with Cygwin), and POSIX.

Chapel is actively in development, so changes in the language take place from version to version.

The focus of this category is on the Chapel programming language, which may also be known as Cray Chapel, the Cascade High Productivity Language, or the Chapel Parallel Programming Language. Any compilers, IDEs, editors, or other tools designed for Chapel programming are appropriate for this category, as are any Chapel user groups, corporate projects, forums, tutorials, guides, or related sites.



Recommended Resources

Search for Chapel on Google or Bing