NESLA collection-oriented parallel functional programming language.
From its home page (see below):
[..] The most important new ideas behind NESL are:
- Nested data parallelism: this feature offers the benefits of data parallelism, concise code that is easy to understand and debug, while being well suited for irregular algorithms, such as algorithms on trees, graphs or sparse matrices (see the examples above or in our library of algorithms).
- A language based performance model: this gives a formal way to calculated the work and depth of a program. These measures can be related to running time on parallel machines.
The main emphasis in the design of NESL was to make parallel programming easy and portable. Algorithms are typically significantly more concise in NESL than in most other parallel programming languages. Furthermore the code closely resembles high-level pseudocode.