NESL

NESL
Paradigm parallel, functional, array
Developer SCandAL project
First appeared 1993
3.1 / November 1995
License permissive license similar to the ISC and X11 licenses

NESL is a parallel programming language developed at Carnegie Mellon by the SCandAL project and released in 1993. It integrates various ideas from parallel algorithms, and functional programming and array programming languages.

The most important new ideas behind NESL are

The main design guideline for NESL was to make parallel programming easy and portable. Algorithms are typically significantly more concise in NESL than in most other parallel programming languages, and the code closely resembles high-level pseudocode.

NESL supports nested data parallelism by using the flattening transform to convert nested data parallelism to flat data parallelism. This works by storing nested vectors as the nested data and a segment descriptor of vector lengths, separately.[1] This flattening transform, however, can increase the asymptotic work and space complexity of the original program, leading to a much less efficient result.[2]

Influences

NESL heavily influenced Data Parallel Haskell.[3]

See also

References

  1. Blelloch, Guy (1995). "NESL: A Nested Data-Parallel Language".
  2. Spoonhower, Daniel; Harper, Blelloch, Gibbons (2008). "Space profiling for parallel functional programs".
  3. Jones, Simon Peyton. "Data Parallel Haskell". Retrieved 6 September 2011.

External links