Kotlin∇: Differentiable Functional Programming with Algebraic Data Types
Kotlin is a multi-platform programming language with compiler support for JVM, JS and native targets. The language emphasizes static typing, null-safety and interoperability with Java and JavaScript. In this work, we present an algebraically grounded implementation of forward and reverse mode automatic differentiation written in pure Kotlin and a property-based test suite for soundness checking. Our approach enables users to target multiple platforms through a single codebase and receive compile-time static analysis. A working prototype is provided at: https://github.com/breandan/kotlingrad
Slides (LAFI2019Considine.pdf) | 665KiB |
I am a Master’s student at the University of Montreal under the supervision of Liam Paull and Michalis Famelis. My research interests include reinforcement learning, differentiable programming and software engineering. I have an applied background in machine learning, with experience in programming languages and developer tools. I am enthusiastic about AI as a tool for improving human potential.
Tue 15 JanDisplayed time zone: Belfast change
14:00 - 15:30 | |||
14:00 30mTalk | A Nuts-and-Bolts Differential Geometric Perspective on Automatic Differentiation LAFI Barak A. Pearlmutter Maynooth University | ||
14:30 30mTalk | Kotlin∇: Differentiable Functional Programming with Algebraic Data Types LAFI Breandan Considine Université de Montréal File Attached | ||
15:00 30mTalk | Probabilistic Programming with CuPPL LAFI |