Effective quotation: Relating approaches to language-integrated query

James Cheney, Sam Lindley, Gabriel Radanne, Philip Wadler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)


Language-integrated query techniques have been explored in a number of different language designs. We consider two different, type-safe approaches employed by Links and F#. Both approaches provide rich dynamic query generation capabilities, and thus amount to a form of heterogeneous staged computation, but to date there has been no formal investigation of their relative expressiveness. We present two core calculi Eff and Quot, respectively capturing the essential aspects of language-integrated querying using effects in Links and quotation in LINQ. We show via translations from Eff to Quot and back that the two approaches are equivalent in expressiveness. Based on the translation from Eff to Quot, we extend a simple Links compiler to handle queries. Categories and Subject Descriptors D.3.1 [Formal Definitions and Theory]; D.3.2 [Language Classifications]: Applicative (functional) languages; H.2.3 [Languages]: Query languages.

Original languageEnglish
Title of host publicationPEPM '14: Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program
PublisherAssociation for Computing Machinery
Number of pages12
ISBN (Print)9781450326193
Publication statusPublished - Jan 2014
EventACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation 2014 - San Diego, United States
Duration: 20 Jan 201421 Jan 2014


ConferenceACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation 2014
Abbreviated titlePEPM 2014
Country/TerritoryUnited States
CitySan Diego


  • Effects
  • Language-integrated query
  • Quotation

ASJC Scopus subject areas

  • Computer Vision and Pattern Recognition
  • Software
  • Computer Graphics and Computer-Aided Design


Dive into the research topics of 'Effective quotation: Relating approaches to language-integrated query'. Together they form a unique fingerprint.

Cite this