Kotlin∇: A Shape-Safe DSL for Differentiable Programming
Abstract
Kotlin is a statically-typed programming language with support for embedded domain specific languages, asynchronous programming, and multi-platform compilation. In this work, we present an algebraically-based implementation of automatic differentiation (AD) with shape-safe tensor operations, written in pure Kotlin. Our approach differs from existing AD frameworks in that Kotlin∇ is the first shape-safe AD library fully compatible with the Java type system, requiring no metaprogramming, reflection or compiler intervention to use. A working prototype is available: https://github.com/breandan/kotlingrad.
Cite
Text
Considine et al. "Kotlin∇: A Shape-Safe DSL for Differentiable Programming." NeurIPS 2019 Workshops: Program_Transformations, 2019.Markdown
[Considine et al. "Kotlin∇: A Shape-Safe DSL for Differentiable Programming." NeurIPS 2019 Workshops: Program_Transformations, 2019.](https://mlanthology.org/neuripsw/2019/considine2019neuripsw-kotlin/)BibTeX
@inproceedings{considine2019neuripsw-kotlin,
title = {{Kotlin∇: A Shape-Safe DSL for Differentiable Programming}},
author = {Considine, Breandan and Famelis, Michalis and Paull, Liam},
booktitle = {NeurIPS 2019 Workshops: Program_Transformations},
year = {2019},
url = {https://mlanthology.org/neuripsw/2019/considine2019neuripsw-kotlin/}
}