mlsanityData to 7 Oct 2026

Getting to the Point. Index Sets and Parallelism-Preserving Autodiff for Pointful Array Programming

arXiv 2104.05372 ↗First posted 12 Apr 2021cs.PLcited by 10

Not on the map. Why?

Abstract (arXiv)

We present a novel programming language design that attempts to combine the clarity and safety of high-level functional languages with the efficiency and parallelism of low-level numerical languages. We treat arrays as eagerly-memoized functions on typed index sets, allowing abstract function manipulations, such as currying, to work on arrays. In contrast to composing primitive bulk-array operations, we argue for an explicit nested indexing style that mirrors application of functions to arguments. We also introduce a fine-grained typed effects system which affords concise and automatically-parallelized in-place updates. Specifically, an associative accumulation effect allows reverse-mode automatic differentiation of in-place updates in a way that preserves parallelism. Empirically, we benchmark against the Futhark array programming language, and demonstrate that aggressive inlining and type-driven compilation allows array programs to be written in an expressive, "pointful" style with little performance penalty.

Key facts. Cited by 10 papers in the map (data through 7 Oct 2026). First posted on arXiv 12 Apr 2021.

Builds on

No reference list yet.

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2021: 1; 2022: 2; 2023: 1; 2024: 1; 2025: 1; 2026: 4.

10 papers.