Reverse AD at Higher Types: Pure, Principled and Denotationally Correct
Not on the map. Why?
Abstract (arXiv)
We show how to define forward- and reverse-mode automatic differentiation source-code transformations or on a standard higher-order functional language. The transformations generate purely functional code, and they are principled in the sense that their definition arises from a categorical universal property. We give a semantic proof of correctness of the transformations. In their most elegant formulation, the transformations generate code with linear types. However, we demonstrate how the transformations can be implemented in a standard functional language without sacrificing correctness. To do so, we make use of abstract data types to represent the required linear types, e.g. through the use of a basic module system.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). First posted on arXiv 10 Jul 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 1; 2023: 1.
3 papers.