Chapel (programming language)

Chapel code can be compiled to libraries to be callable from C, or Fortran or e.g. Python also supported.

Chapel supports GPU programming through code generation for NVIDIA and AMD graphics processing units.

[5] 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.

The language designers aspire for Chapel to bridge the gap between current high-performance computing (HPC) programming practitioners, who they describe as Fortran, C or C++ users writing procedural code using technologies like OpenMP and MPI on one side, and newly graduating computer programmers who tend to prefer Java, Python or Matlab with only some of them having experience with C++ or C. Chapel should offer the productivity advances offered by the latter suite of languages while not alienating the users of the first.

It allows for code reuse and generality through object-oriented concepts and generic programming features.