Functional collection programming with semi-ring dictionaries

14Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.

Abstract

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, vectors, and matrices. We developed SDQL, a statically typed language that can express relational algebra with aggregations, linear algebra, and functional collections over data such as relations and matrices using semi-ring dictionaries. Furthermore, thanks to the algebraic structure behind these dictionaries, SDQL unifies a wide range of optimizations commonly used in databases (DB) and linear algebra (LA). As a result, SDQL enables efficient processing of hybrid DB and LA workloads, by putting together optimizations that are otherwise confined to either DB systems or LA frameworks. We show experimentally that a handful of DB and LA workloads can take advantage of the SDQL language and optimizations. SDQL can be competitive with or outperforms a host of systems that are state of the art in their own domain: in-memory DB systems Typer and Tectorwise for (flat, not nested) relational data; SciPy for LA workloads; sparse tensor compiler taco; the Trance nested relational engine; and the in-database machine learning engines LMFAO and Morpheus for hybrid DB/LA workloads over relational data.

References Powered by Scopus

A Relational Model of Data for Large Shared Data Banks

4764Citations
N/AReaders
Get full text

Analysis of 100,000 human cancer genomes reveals the landscape of tumor mutational burden

2532Citations
N/AReaders
Get full text

Spark SQL: Relational data processing in spark

1087Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Building a Compiled Query Engine in Python

9Citations
N/AReaders
Get full text

Indexed Streams: A Formal Intermediate Representation for Fused Contraction Programs

5Citations
N/AReaders
Get full text

Forward- or reverse-mode automatic differentiation: What's the difference?

3Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Shaikhha, A., Huot, M., Smith, J., & Olteanu, D. (2022). Functional collection programming with semi-ring dictionaries. Proceedings of the ACM on Programming Languages, 6(OOPSLA1). https://doi.org/10.1145/3527333

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 3

100%

Readers' Discipline

Tooltip

Computer Science 3

100%

Save time finding and organizing research with Mendeley

Sign up for free