Abstract
Language-integrated query is receiving renewed attention, in part because of its support through Microsoft's LINQ framework. We present a practical theory of language-integrated query based on quotation and normalisation of quoted terms. Our technique supports join queries, abstraction over values and predicates, composition of queries, dynamic generation of queries, and queries with nested intermediate data. Higher-order features prove useful even for constructing first-order queries. We prove a theorem characterising when a host query is guaranteed to generate a single SQL query. We present experimental results confirming our technique works, even in situations where Microsoft's LINQ framework either fails to produce an SQL query or, in one case, produces an avalanche of SQL queries.
Original language | English |
---|---|
Title of host publication | ICFP '13: Proceedings of the 18th ACM SIGPLAN international conference on Functional programming |
Publisher | Association for Computing Machinery |
Pages | 403-416 |
Number of pages | 14 |
ISBN (Print) | 9781450323260 |
DOIs | |
Publication status | Published - Nov 2013 |
Event | 18th ACM SIGPLAN International Conference on Functional Programming 2013 - Boston, MA, United States Duration: 25 Sept 2013 → 27 Sept 2013 |
Conference
Conference | 18th ACM SIGPLAN International Conference on Functional Programming 2013 |
---|---|
Abbreviated title | ICFP 2013 |
Country/Territory | United States |
City | Boston, MA |
Period | 25/09/13 → 27/09/13 |
Keywords
- Antiquotation
- F#
- Lambda calculus
- LINQ
- Quotation
- SQL
ASJC Scopus subject areas
- Software