English
Related papers

Related papers: A Simple Differentiable Programming Language

200 papers

For a real function, automatic differentiation is such a standard algorithm used to efficiently compute its gradient, that it is integrated in various neural network frameworks. However, despite the recent advances in using complex…

Machine Learning · Computer Science 2021-01-19 Chu Guo , Dario Poletti

Automatic differentiation, also known as backpropagation, AD, autodiff, or algorithmic differentiation, is a popular technique for computing derivatives of computer programs accurately and efficiently. Sometimes, however, the derivatives…

Numerical Analysis · Mathematics 2023-05-15 Jan Hückelheim , Harshitha Menon , William Moses , Bruce Christianson , Paul Hovland , Laurent Hascoët

Probabilistic programming languages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programming languages which perform Bayesian inference using Monte Carlo techniques. Verifying samplers - proving…

Programming Languages · Computer Science 2023-04-27 Fredrik Dahlqvist , Alexandra Silva , William Smith

We present a simple functional programming language, called Dual PCF, that implements forward mode automatic differentiation using dual numbers in the framework of exact real number computation. The main new feature of this language is the…

Logic in Computer Science · Computer Science 2025-02-03 Pietro Di Gianantonio , Abbas Edalat , Ran Gutin

Programming by Example (PBE) is the task of inducing computer programs from input-output examples. It can be seen as a type of machine learning where the hypothesis space is the set of legal programs in some programming language. Recent…

Programming Languages · Computer Science 2017-03-03 John K. Feser , Marc Brockschmidt , Alexander L. Gaunt , Daniel Tarlow

In David Schmidt's PhD work he explored the use of denotational semantics as a programming language. It was part of an effort to not only treat formal semantics as specifications but also as interpreters and input to compiler generators.…

Programming Languages · Computer Science 2013-09-23 Mads Rosendahl

"Natural languages are programming languages for minds." Can we or should we take this slogan seriously? If so, how? Can answers be found by looking at the various "dynamic" treatments of natural language developed over the last decade or…

cmp-lg · Computer Science 2008-02-03 David Israel

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

Automatic differentiation is a technique which allows a programmer to define a numerical computation via compositions of a broad range of numeric and computational primitives and have the underlying system support the computation of partial…

Mathematical Software · Computer Science 2017-06-02 Samer Abdallah

For a class L of languages let PDL[L] be an extension of Propositional Dynamic Logic which allows programs to be in a language of L rather than just to be regular. If L contains a non-regular language, PDL[L] can express non-regular…

Logic in Computer Science · Computer Science 2011-06-08 Markus Latte

Scientific computing is increasingly incorporating the advancements in machine learning and the ability to work with large amounts of data. At the same time, machine learning models are becoming increasingly sophisticated and exhibit many…

Programming Languages · Computer Science 2019-07-19 Mike Innes , Alan Edelman , Keno Fischer , Chris Rackauckas , Elliot Saba , Viral B Shah , Will Tebbutt

The differentiable programming paradigm is a cornerstone of modern scientific computing. It refers to numerical methods for computing the gradient of a numerical model's output. Many scientific models are based on differential equations,…

Describing systems in terms of choices and their resulting costs and rewards offers the promise of freeing algorithm designers and programmers from specifying how those choices should be made; in implementations, the choices can be realized…

Logic in Computer Science · Computer Science 2024-02-14 Martin Abadi , Gordon Plotkin

Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas…

Logic in Computer Science · Computer Science 2015-07-21 Constantin Enea , Mihaela Sighireanu , Zhilin Wu

We present semantic correctness proofs of automatic differentiation (AD). We consider a forward-mode AD method on a higher-order language with algebraic data types and we characterise it as the unique structure-preserving macro given a…

Programming Languages · Computer Science 2026-05-07 Mathieu Huot , Sam Staton , Matthijs Vákár

We study the problem of learning differentiable functions expressed as programs in a domain-specific language. Such programmatic models can offer benefits such as composability and interpretability; however, learning them requires…

Machine Learning · Computer Science 2021-03-30 Ameesh Shah , Eric Zhan , Jennifer J. Sun , Abhinav Verma , Yisong Yue , Swarat Chaudhuri

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

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…

Programming Languages · Computer Science 2022-06-23 Michael Innes

Building on the observation that reverse-mode automatic differentiation (AD) -- a generalisation of backpropagation -- can naturally be expressed as pullbacks of differential 1-forms, we design a simple higher-order programming language…

Programming Languages · Computer Science 2020-02-20 Carol Mak , Luke Ong

The present paper gives a mathematical, in particular, syntax-independent, formulation of intensionality and dynamics of computation in terms of games and strategies. Specifically, we give a game semantics for a higher-order programming…

Logic in Computer Science · Computer Science 2021-02-10 Norihiro Yamada , Samson Abramsky