Bulk types such as sets, bags, and lists are monads, and therefore support a notation for database queries based on comprehensions. This fact is the basis of much work on database query languages. The monadic structure easily explains most of standard relational algebra—specifically, selections and projections—allowing for an elegant mathematical foundation for those aspects of database query language design. Most, but not all: monads do not immediately offer an explanation of relational join or grouping, and hence important foundations for those crucial aspects of relational algebra are missing. The best they can offer is cartesian product followed by selection. Adjunctions come to the rescue: like any monad, bulk types also arise from certain adjunctions; we show that by paying due attention to other important adjunctions, we can elegantly explain the rest of standard relational algebra. In particular, this leads directly to an efficient implementation, even of joins.
Wed 26 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00 | |||
10:30 22mTalk | Partially-Static Data as Free Extension of Algebras Research Papers Jeremy Yallop University of Cambridge, UK, Tamara von Glehn University of Cambridge, Ohad Kammar University of Oxford Link to publication DOI Pre-print | ||
10:52 22mTalk | Relational Algebra by Way of AdjunctionsDistinguished Paper Research Papers Jeremy Gibbons Department of Computer Science, University of Oxford, Fritz Henglein Department of Computer Science, University of Copenhagen (DIKU), Ralf Hinze Radboud University Nijmegen, Nicolas Wu University of Bristol, UK DOI | ||
11:15 22mTalk | Strict and Lazy Semantics for Effects: Layering Monads and Comonads Research Papers DOI | ||
11:37 22mTalk | What's the Difference? A Functional Pearl on Subtracting Bijections Research Papers DOI |