Stalin∇ is a brutally optimizing compiler for the VLAD language, a pure dialect of Scheme with first-class automatic differentiation operators.
Written by Jeffrey Mark Siskind, with Barak A. Pearlmutter doing a little cheerleading.
Requires a Scheme compiler and the QobiScheme infrastructure.
cp stalingrad /usr/local/bin/
Enjoy!
-
Barak A. Pearlmutter and Jeffrey Mark Siskind, Reverse-Mode AD in a functional framework: Lambda the ultimate backpropagator. TOPLAS 30(2):1-36, Mar 2008, doi:10.1145/1330017.1330018.
-
Jeffrey Mark Siskind and Barak A. Pearlmutter, Using Polyvariant Union-Free Flow Analysis to Compile a Higher-Order Functional-Programming Language with a First-Class Derivative Operator to Efficient Fortran-like Code, Technical Report, School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN, USA, Jan 2008, TR-ECE-08-01.
-
Jeffrey Mark Siskind and Barak A. Pearlmutter, Efficient Implementation of a Higher-Order Language with Built-In AD, Extended abstract presented at the 7th International Conference on Algorithmic Differentiation (AD), Oxford, UK, 12-15 September 2016.
-
For older materials, see the old stalin∇ page
This material is based upon work supported by the National Science Foundation under Grant No. 0438806. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.