Thu 18 Jul 2019 11:30 - 11:50 at Track 1 - Domain Specific Languages

Many different data analytics tasks boil down to linear algebra primitives. In practice, for each different type of workload, data scientists use a particular specialised library. In this paper, we present Pilatus, a polymorphic iterative linear algebra language, applicable to various types of data analytics workloads. The design of this domain-specific language (DSL) is inspired by both mathematics and programming languages: its basic constructs are borrowed from abstract algebra, whereas the key technology behind its polymorphic design uses the tagless final approach (a.k.a. polymorphic embedding/object algebras). This design enables us to change the behaviour of arithmetic operations to express matrix algebra, graph algorithms, logical probabilistic programs, and differentiable programs. Crucially, the polymorphic design of Pilatus allows us to use multistage programming and rewrite-based optimisation to recover the performance of specialised code, supporting fixed sized matrices, algebraic optimisations, and fusion.

Thu 18 Jul

10:30 - 12:10: ECOOP Research Papers - Domain Specific Languages at Track 1
ecoop-2019-papers10:30 - 10:50
Research paper
Matthias Eichholz, Eric CampbellCornell University, Nate FosterCornell University, Guido SalvaneschiTU Darmstadt, Mira MeziniTU Darmstadt, Germany
ecoop-2019-papers10:50 - 11:10
Research paper
Yossi GilTechnion—Israel Institute of Technology, Ori RothTechnion
ecoop-2019-papers11:10 - 11:30
Research paper
Kang Hong JinSchool of Information Systems, Singapore Management University, Ferdian Thung, Julia LawallInria/LIP6, Gilles MullerLIP6-INRIA/UPMC, Lingxiao JiangSingapore Management University, David LoSingapore Management University
ecoop-2019-papers11:30 - 11:50
Research paper
Amir ShaikhhaUniversity of Oxford, Lionel ParreauxEPFL
ecoop-2019-papers11:50 - 12:10
Research paper
Dhruv MakwanaUnaffiliated, Neelakantan R. KrishnaswamiComputer Laboratory, University of Cambridge