@inproceedings(amsterdamer2011provenance, author = {Yael Amsterdamer and Daniel Deutch and Val Tannen}, year = {2011}, title = {Provenance for aggregate queries}, booktitle = {Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems}, pages = {153--164}, doi = {10.1145/1989284.1989302}, ) @inproceedings(carette:expsimp, author = {Jacques Carette}, year = {2004}, title = {Understanding Expression Simplification}, booktitle = {Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation}, series = {ISSAC '04}, publisher = {ACM}, pages = {72\IeC{\textendash}79}, doi = {10.1145/1005285.1005298}, ) @inproceedings(caretteetal:symbdom, author = {Jacques Carette and Alan P. Sexton and Volker Sorge and Stephen M. Watt}, year = {2010}, title = {Symbolic Domain Decomposition}, editor = {Serge Autexier and Jacques Calmet and David Delahaye and Patrick D. F. Ion and Laurence Rideau and Renaud Rioboo and Alan P. Sexton}, booktitle = {Intelligent Computer Mathematics}, publisher = {Springer}, pages = {172--188}, doi = {10.2307/1968168}, ) @article(probdb2007, author = {Nilesh Dalvi and Dan Suciu}, year = {2007}, title = {Efficient Query Evaluation on Probabilistic Databases}, journal = {The VLDB Journal}, volume = {16}, number = {4}, pages = {523--544}, doi = {10.1007/s00778-006-0004-3}, ) @article(evaltreedecomp, author = {J\"{o}rg Flum and Markus Frick and Martin Grohe}, year = {2002}, title = {Query Evaluation via Tree-Decompositions}, journal = {J. ACM}, volume = {49}, number = {6}, pages = {716--752}, doi = {10.1145/602220.602222}, ) @article(gibbons2018relational, author = {Jeremy Gibbons and Fritz Henglein and Ralf Hinze and Nicolas Wu}, year = {2018}, title = {Relational algebra by way of adjunctions}, journal = {Proceedings of the ACM on Programming Languages: International Conference onf Functional Programming (ICFP)}, volume = {2}, number = {ICFP}, pages = {86}, doi = {10.1145/3235035}, ) @article(largedatabases, author = {Goetz Graefe}, year = {1993}, title = {Query Evaluation Techniques for Large Databases}, journal = {ACM Comput. Surv.}, volume = {25}, number = {2}, pages = {73--169}, doi = {10.1145/152610.152611}, ) @inproceedings(semirings, author = {Todd J. Green and Grigoris Karvounarakis and Val Tannen}, year = {2007}, title = {Provenance Semirings}, booktitle = {Proceedings of the Twenty-Sixth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems}, series = {PODS '07}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, pages = {31--40}, doi = {10.1145/1265530.1265535}, ) @article(grohe:fractional, author = {Martin Grohe and D\'{a}niel Marx}, year = {2014}, title = {Constraint Solving via Fractional Edge Covers}, journal = {ACM Trans. Algorithms}, volume = {11}, number = {1}, doi = {10.1145/2636918}, ) @inproceedings(hehi2013, author = {Fritz Henglein and Ralf Hinze}, year = {2013}, title = {Distributive Sorting and Searching: From Generic Discrimination to Generic Tries}, editor = {Chung-chieh Shan}, booktitle = {Proc. 11th Asian Symposium on Programming Languages and Systems (APLAS)}, series = {Lecture Notes in Computer Science (LNCS)}, volume = {8301}, publisher = {Springer}, pages = {315--332}, doi = {10.1007/978-3-319-03542-0_23}, ) @inproceedings(futhark, author = {Troels Henriksen and Niels G. W. Serup and Martin Elsman and Fritz Henglein and Cosmin E. Oancea}, year = {2017}, title = {Futhark: {P}urely Functional GPU-programming with Nested Parallelism and In-place Array Updates}, booktitle = {Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation}, series = {PLDI 2017}, publisher = {ACM}, pages = {556--571}, doi = {10.1145/1806596.1806606}, ) @article(tries, author = {Ralf Hinze}, year = {2000}, title = {Generalizing generalized tries}, journal = {Journal of Functional Programming}, volume = {10}, number = {4}, pages = {327--351}, doi = {10.1017/S0956796800003713}, ) @article(kiselyov2018reconciling, author = {Oleg Kiselyov}, year = {2018}, title = {Reconciling abstraction with high performance: A metaocaml approach}, journal = {Foundations and Trends in Programming Languages}, volume = {5}, number = {1}, pages = {1--101}, doi = {10.1561/2500000038_supp}, ) @article(loeb:negsets, author = {Daniel Loeb}, year = {1992}, title = {Sets with a negative number of elements}, journal = {Advances in Mathematics}, volume = {91}, number = {1}, pages = {64--74}, doi = {10.1016/0001-8708(92)90011-9}, ) @article(macedo2012typing, author = {H.D. Macedo and J.N. Oliveira}, year = {2012}, title = {Typing linear algebra: A biproduct-oriented approach}, journal = {Science of Computer Programming}, ) @article(maier1981complexity, author = {David Maier and Yehoshua Sagiv and Mihalis Yannakakis}, year = {1981}, title = {On the complexity of testing implications of functional and join dependencies}, journal = {Journal of the ACM (JACM)}, volume = {28}, number = {4}, pages = {680--695}, doi = {10.1145/322261.322263}, ) @inproceedings(ngo2012worst, author = {H.Q. Ngo and E. Porat and C. R{\'e} and A. Rudra}, year = {2012}, title = {Worst-case optimal join algorithms}, booktitle = {Proceedings of the 31st symposium on Principles of Database Systems}, organization = {ACM}, pages = {37--48}, ) @article(ngo2018worst, author = {Hung Q Ngo and Ely Porat and Christopher R{\'e} and Atri Rudra}, year = {2018}, title = {Worst-case optimal join algorithms}, journal = {Journal of the ACM (JACM)}, volume = {65}, number = {3}, pages = {1--40}, doi = {10.5555/795662.796318}, ) @article(oliveira2012typed, author = {J. Oliveira}, year = {2012}, title = {Typed Linear Algebra for Weighted (Probabilistic) Automata}, journal = {Implementation and Application of Automata}, pages = {52--65}, doi = {10.1007/978-3-642-13321-3_16}, ) @article(oliveira2012towards, author = {J.N. Oliveira}, year = {2012}, title = {Towards a linear algebra of programming}, journal = {Formal Aspects of Computing}, volume = {24}, number = {4}, pages = {433--458}, doi = {10.1016/j.fss.2008.12.008}, ) @inproceedings(oliveira2017data, author = {Jos{\'e} Nuno Oliveira and Hugo Daniel Macedo}, year = {2017}, title = {The data cube as a typed linear algebra operator}, booktitle = {Proceedings of The 16th International Symposium on Database Programming Languages}, pages = {1--11}, doi = {10.1145/99370.99404}, ) @article(join-acyclic, author = {Anna Pagh and Rasmus Pagh}, year = {2006}, title = {Scalable computation of acyclic joins}, journal = {Journal of the ACM}, doi = {10.1145/1142351.1142384}, ) @inproceedings(Pretnar2015, author = {Matija Pretnar}, year = {2015}, title = {An Introduction to Algebraic Effects and Handlers. Invited tutorial paper}, booktitle = {The 31st Conference on the Mathematical Foundations of Programming Semantics (MFPS XXXI)}, series = {Electronic Notes in Theoretical Computer Science}, volume = {319}, pages = {19--35}, ) @inproceedings(Scholz:SaC, author = {Sven-Bodo Scholz}, year = {1994}, title = {Single-assignment C --- Functional Programming Using Imperative Style}, booktitle = {6th International Workshop on Implementation of Functional Languages (IFL'94), Norwich, England, UK}, publisher = {University of East Anglia, Norwich, England, UK}, pages = {211--2113}, ) @article(shaikhha2021functional, author = {Amir Shaikhha and Mathieu Huot and Jaclyn Smith and Dan Olteanu}, year = {2021}, title = {Functional Collection Programming with Semi-Ring Dictionaries}, journal = {arXiv preprint arXiv:2103.06376}, ) @inproceedings(shaikhha2019finally, author = {Amir Shaikhha and Lionel Parreaux}, year = {2019}, title = {Finally, a Polymorphic Linear Algebra Language (Pearl)}, booktitle = {33rd European Conference on Object-Oriented Programming (ECOOP 2019)}, organization = {Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik}, ) @inproceedings(complexity, author = {Moshe Vardi}, year = {1982}, title = {The Complexity of Relational Query Languages (Extended Abstract)}, pages = {137--146}, doi = {10.1145/800070.802186}, ) @article(willard2002, author = {Dan E. Willard}, year = {2002}, title = {An Algorithm for Handling Many Relational Calculus Queries Efficiently}, journal = {Journal of Computer and System Sciences}, volume = {65}, number = {2}, pages = {295 -- 331}, doi = {10.1006/jcss.2002.1848}, ) @book(wisbauer1991foundations, author = {Robert Wisbauer}, year = {1991}, title = {Foundations of module and ring theory}, volume = {3}, publisher = {CRC Press}, )