RECORD
Functional or imperative? On pleasant semantics for differentiable programming languages
Programming Languages · Submitted 22 Jun 2022
abstract compiled · 2026-09-23 · no language-model review
The authors' main claim This article explores why imperative and functional styles are used, and how future language designs might get the best of both worlds.
The compiled record
The paper's own sentences, arranged. Each label is drawn from a closed vocabulary; the number beside it is the probability the classifier gave that label. Numbers in the tables are the authors', checked by code. No sentence in this record was written by a model.
Open the compiled record
The abstract, sentence by sentence
In machine learning (ML), researchers and engineers seem to be at odds. System implementers would prefer models to be declarative, with detailed type information and semantic restrictions that allow models to be optimised, rearranged and parallelised. Yet practitioners show an overwhelming preference for dynamic, imperative languages with mutable state, and much engineering effort is spent bridging the resulting semantic divide. Is there a fundamental conflict? This article explores why imperative and functional styles are used, and how future language designs might get the best of both worlds.
background contribution method result interpretation main claim
| # | sentence | role | the authors' own work | states the main conclusion | strength |
|---|---|---|---|---|---|
| s0 | In machine learning (ML), researchers and engineers seem to be at odds. | background 1.00 | 0.08 | 0.02 | asserted 0.81 |
| s1 | System implementers would prefer models to be declarative, with detailed type information and semantic restrictions that allow models to be optimised, rearranged and parallelised. | background 1.00 | 0.05 | 0.04 | asserted 0.96 |
| s2 | Yet practitioners show an overwhelming preference for dynamic, imperative languages with mutable state, and much engineering effort is spent bridging the resulting semantic divide. | background 0.98 | 0.09 | 0.05 | asserted 1.00 |
| s3 | Is there a fundamental conflict? | gap 0.70 | 0.03 | 0.02 | unclear 0.96 |
| s4 | This article explores why imperative and functional styles are used, and how future language designs might get the best of both worlds. | contribution 0.98 | 0.45 | 0.17 | speculative 0.76 |
What was examined, and what was not
- arXiv listing abstract v1
- full text
- figures and tables
- references and citing sentences
- relations to other papers
- P abstract
- S sections
- T body sentences
- C citations
- R cross-paper relations
The paper
Original abstract
In machine learning (ML), researchers and engineers seem to be at odds. System implementers would prefer models to be declarative, with detailed type information and semantic restrictions that allow models to be optimised, rearranged and parallelised. Yet practitioners show an overwhelming preference for dynamic, imperative languages with mutable state, and much engineering effort is spent bridging the resulting semantic divide. Is there a fundamental conflict? This article explores why imperative and functional styles are used, and how future language designs might get the best of both worlds.
Human review
How the literature uses it
What this paper does with the arXiv papers it cites
Discussion
Know something about this paper? Leave a comment, or highlight any passage above to comment on it.