Functional Programming on Top of SQL EnginesRemote
SQL database systems support user-defined functions (UDFs), but they hardly encourage programming with these functions. Quite the contrary: the systems’ focus on plan-based query evaluation penalizes every function call at runtime, rendering programming with UDFs—especially if these are recursive—largely impractical. We propose to take UDFs for what they are (namely functions) and subject UDFs to a pipeline of function compilation techniques well-established by the FP community (CPS conversion, defunctionalization, and translation into trampolined style, in particular). The result is a non-invasive SQL-level compiler for recursive UDFs that naturally supports memoization and emits iterative CTEs which contemporary SQL engines evaluate efficiently. Functions may not be first class in SQL, but functional programming close to the data can still be efficient.
Tue 18 JanDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 14:45 | |||
13:30 25mTalk | Graph-based Interpretation of Normal Logic ProgramsRemote PADL Fang Li The University of Texas at Dallas, Elmer Salazar The University of Texas at Dallas, Gopal Gupta The University of Texas at Dallas | ||
13:55 25mTalk | Functional Programming on Top of SQL EnginesRemote PADL Tobias Burghardt University of Tübingen, Denis Hirn University of Tübingen, Torsten Grust University of Tübingen | ||
14:20 25mTalk | CircuitFlow: : A Domain Specific Language for Dataflow ProgrammingIn-Person PADL Riley Evans University of Bristol, Samantha Frohlich University of Bristol, Meng Wang University of Bristol |