Functional Collection Programming with Semi-Ring Dictionaries
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 6 papers in the map (data through 7 Oct 2026). Builds on 22 of its 144 references that are in the map. First posted on arXiv 10 Mar 2021.
Builds on
22 of 144 references.
References · 22
- 2016XGBoost: A Scalable Tree Boosting Systemcited by 5,120
- 2018Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractionscited by 84
- 2015MLlib: Machine Learning in Apache Sparkcited by 55
- 2018Format Abstraction for Sparse Tensor Algebra Compilerscited by 16
- 2019Extending Relational Query Processing with ML Inferencecited by 15
- 2015FAQ: Questions Asked Frequentlycited by 14
- 2017On the expressive power of query languages for matricescited by 14
- 2016Mathematical Foundations of the GraphBLAScited by 12
- 2016Towards Linear Algebra over Normalized Datacited by 12
- 2019A Layered Aggregate Engine for Analytics Workloadscited by 12
- 2016HoTTSQL: Proving Query Rewrites with Univalent SQL Semanticscited by 10
- 2018Efficient Differentiable Programming in a Functional Array-Processing Languagecited by 8
10 more
- 2016Building Efficient Query Engines in a High-Level Languagecited by 6
- 2018AC/DC: In-Database Learning Thunderstruckcited by 6
- 2017LaraDB: A Minimalist Kernel for Linear and Relational Algebra Computationcited by 5
- 2020Multi-layer Optimizations for End-to-End Data Analyticscited by 4
- 2016Stream Fusion, to Completenesscited by 3
- 2016Push vs. Pull-Based Loop Fusion in Query Enginescited by 2
- 2014Query shredding: Efficient relational evaluation of queries over nested multisets (extended version)cited by 1
- 2017Polystore Mathematics of Relational Algebracited by 1
- 2018Program Generation for Small-Scale Linear Algebra Applicationscited by 1
- 2020Scalable Querying of Nested Datacited by 1
Built on by
Citing papers per year: 2021: 1; 2022: 1; 2023: 1; 2024: 1; 2025: 1; 2026: 1.
6 papers.
- 2021Fine-Tuning Data Structures for Analytical Query Processingcited by 0
- 2022Efficient and Sound Differentiable Programming in a Functional Array-Processing Languagecited by 0
- 2023nablaSD: Differentiable Programming for Sparse Tensorscited by 0
- 2024Compressing Structured Tensor Algebracited by 0
- 2025InferF: Declarative Factorization of AI/ML Inferences over Joinscited by 0
- 2026Data Flow Control: Data Safety Policies for AI Agentscited by 0
- 2026Data Flow Control: Data Safety Policies for AI Agents4 Jun 2026
- 2025InferF: Declarative Factorization of AI/ML Inferences over Joins25 Nov 2025
- 2024Compressing Structured Tensor Algebra18 Jul 2024
- 2023nablaSD: Differentiable Programming for Sparse Tensors13 Mar 2023
- 2022Efficient and Sound Differentiable Programming in a Functional Array-Processing Language20 Dec 2022
- 2021Fine-Tuning Data Structures for Analytical Query Processing24 Dec 2021