Functional collection programming with semi-ring dictionaries

A Shaikhha, M Huot, J Smith, D Olteanu - Proceedings of the ACM on …, 2022 - dl.acm.org
This paper introduces semi-ring dictionaries, a powerful class of compositional and purely
functional collections that subsume other collection types such as sets, multisets, arrays …

Efficient differentiable programming in a functional array-processing language

A Shaikhha, A Fitzgibbon, D Vytiniotis… - Proceedings of the …, 2019 - dl.acm.org
We present a system for the automatic differentiation (AD) of a higher-order functional array-
processing language. The core functional language underlying this system simultaneously …

Destination-passing style for efficient memory management

A Shaikhha, A Fitzgibbon, S Peyton Jones… - Proceedings of the 6th …, 2017 - dl.acm.org
We show how to compile high-level functional array-processing programs, drawn from
image processing and machine learning, into C code that runs as fast as hand-written C …

Everything old is new again: quoted domain-specific languages

S Najd, S Lindley, J Svenningsson… - Proceedings of the 2016 …, 2016 - dl.acm.org
We describe a new approach to implementing Domain-Specific Languages (DSLs), called
Quoted DSLs (QDSLs), that is inspired by two old ideas: quasi-quotation, from McCarthy's …

Multi-layer optimizations for end-to-end data analytics

A Shaikhha, M Schleich, A Ghita… - Proceedings of the 18th …, 2020 - dl.acm.org
We consider the problem of training machine learning models over multi-relational data. The
mainstream approach is to first construct the training dataset using a feature extraction query …

Deep fusion for efficient nested recursive computations

A Shaikhha - Proceedings of the 21st ACM SIGPLAN International …, 2022 - dl.acm.org
One of the performance bottlenecks of nested recursive computations is the intermediate
collections created at different levels of recursion. The existing techniques such as vertical …

Finally, a polymorphic linear algebra language (pearl)

A Shaikhha, L Parreaux - lipics, 2019 - ora.ox.ac.uk
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 …

Combining deep and shallow embedding of domain-specific languages

J Svenningsson, E Axelsson - Computer Languages, Systems & Structures, 2015 - Elsevier
We present a technique to combine deep and shallow embedding in the context of
compiling embedded languages in order to provide the benefits of both techniques. When …

Defunctionalizing push arrays

BJ Svensson, J Svenningsson - Proceedings of the 3rd ACM SIGPLAN …, 2014 - dl.acm.org
Recent work on embedded domain specific languages (EDSLs) for high performance array
programming has given rise to a number of array representations. In Feldspar and Obsidian …

[PDF][PDF] A semi-ring dictionary query language for data science

A Shaikhha, M Huot, S Hashemian, A Kaboli… - 2024 - research.ed.ac.uk
This article introduces semi-ring dictionaries, a powerful class of compositional and purely
functional collections that subsume other collection types such as sets, multisets, arrays …