HackerPapers

arXiv:1911.04523cs.PL

A Simple Differentiable Programming Language

Martin Abadi, Gordon D. Plotkin

Abstract

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the mathematical notion of derivative is not always entirely clear---discrepancies can arise, sometimes inadvertently. In order to study automatic differentiation in such programming contexts, we define a small but expressive programming language that includes a construct for reverse-mode differentiation. We give operational and denotational semantics for this language. The operational semantics employs popular implementation techniques, while the denotational semantics employs notions of differentiation familiar from real analysis. We establish that these semantics coincide.

arXiv comments
In POPL2020
Journal reference
DOI
doi:10.1145/3371106
Subjects
cs.PLProgramming Languages cs.LGMachine Learning

On Hacker News

Linked by 3 identifiable commenters in 4 comments across 2 threads, from Nov 2019 to Aug 2022. Found in 1 HN submission from Nov 2019 to Nov 2019. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

    • Seems a bit of conflation of notions going on here: Just because logic/quantum/probabilistic all end with "programming", it doesn't mean that they all are what is called a "programming paradigm" in the typical sense [0]. Where does a paradigm end and a library implementation…

      data_maanView on HNParent context

    • The existence of a different kind of CPU isn't a meaningful distinction at the level of discussing paradigms. The semantics are different, so the abstract machine is different. The fact that I need a different set of atoms in my desktop to use it doesn't change the programming…

      oddityView on HNParent context

    • I don't usually respond to old comments, so I don't know if you'll read this, but I hope I can encourage you to think more broadly about what "differentiable programming" means. Different fields have a different perspective on the same set of tools because those tools have…

      oddityView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.