Repository logo
 

Points for Free: Embedding Pointful Array Programming in Python.

Accepted version
Peer-reviewed

Change log

Authors

Bachurski, Jakub 

Abstract

Multidimensional array operations are ubiquitous in machine learning. The dominant ecosystem in this field is centred around Python and NumPy, where programs are expressed with elaborate and error-prone calls in the point-free array programming model. Such code is difficult to statically analyse and maintain. Various other array programming paradigms offer to solve these problems, in particular the pointful style of Dex. However, only limited approaches – based on Einstein summation – have been embedded in Python. We introduce Ein, a pointful array DSL embedded in Python. We also describe a novel connection between pointful and point-free array programming. Thanks to this connection, Ein generates performant and type-safe calls to NumPy with potential for further optimisations. Ein reconciles the readability of comprehension-style definitions with the capabilities of existing array frameworks.

Description

Keywords

Journal Title

ARRAY@PLDI

Conference Name

ARRAY 2024

Journal ISSN

Volume Title

Publisher

ACM

Publisher DOI