On the expressive power of programming languages
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
On abstraction and the expressive power of programming languages
TACS'91 Selected papers of the conference on Theoretical aspects of computer software
ACM SIGMOD Record
The type and effect discipline
Information and Computation
Principles of programming with complex objects and collection types
ICDT '92 Selected papers of the fourth international conference on Database theory
Normal forms and conservative extension properties for query languages over collection types
Journal of Computer and System Sciences
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Foundations of Databases: The Logical Level
Foundations of Databases: The Logical Level
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Kleisli, a functional query system
Journal of Functional Programming
LINQ: reconciling object, relations and XML in the .NET framework
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Proceedings of the 2006 workshop on ML
Extracting queries by static analysis of transparent persistence
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static checking of dynamically generated queries in database applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
A case study evaluation of maintainability and performance of persistency techniques
Proceedings of the 30th international conference on Software engineering
Implicitly heterogeneous multi-stage programming
New Generation Computing
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
The Script-Writer's Dream: How to Write Great SQL in Your Own Language, and Be Sure It Will Succeed
DBPL '09 Proceedings of the 12th International Symposium on Database Programming Languages
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Ur: statically-typed metaprogramming with type-level record computation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Static analysis of multi-staged programs via unstaging translation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Haskell boards the ferry: database-supported program execution for Haskell
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Generic multiset programming with discrimination-based joins and symbolic Cartesian products
Higher-Order and Symbolic Computation
Introduction to Bisimulation and Coinduction
Introduction to Bisimulation and Coinduction
Row-based effect types for database integration
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Reasoning about multi-stage programs
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Staged computation with staged lexical scope
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Expert F# 3.0
A practical theory of language-integrated query
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
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.