Repository logo
 

NumLin: Linear types for linear algebra

Published version
Peer-reviewed

Loading...
Thumbnail Image

Change log

Abstract

We present NumLin, a functional programming language whose type system is designed to enforce the safe usage of the APIs of low-level linear algebra libraries (such as BLAS/LAPACK). We do so through a brief description of its key features and several illustrative examples. We show that NumLin’s type system is sound and that its implementation improves upon naïve implementations of linear algebra programs, almost towards C-levels of performance. By doing so, we demonstrate (a) that linear types are well-suited to expressing the APIs of low-level linear algebra libraries accurately and concisely and (b) that, despite the complexity of prior work on it, fractional permissions can actually be implemented using simple, well-known techniques and be used practically in real programs.

Description

Keywords

Journal Title

LIPIcs : Leibniz International Proceedings in Informatics

Conference Name

European Conference on Object-Oriented Programming (ECOOP 2019)

Journal ISSN

1868-8969

Volume Title

134

Publisher

Schloss Dagstuhl -- Leibniz-Zentrum fuer Informatik

Rights and licensing

Except where otherwised noted, this item's license is described as Attribution 4.0 International