  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.
