Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM SIGMOD Record
A correspondence between continuation passing style and static single assignment form
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
ACM SIGPLAN Notices
A relational model of data for large shared data banks
Communications of the ACM
Universality of data retrieval languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Denotational semantics as a specification of code generators
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Kleisli, a functional query system
Journal of Functional Programming
A Complete and Efficient Algebraic Compiler for XQuery
ICDE '06 Proceedings of the 22nd International Conference on Data Engineering
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
XML query optimization in the presence of side effects
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A better semantics for XQuery with side-effects
DBPL'07 Proceedings of the 11th international conference on Database programming languages
Queue - Data
Making standard ML a practical database programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A universal calculus for stream processing languages
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Hi-index | 0.00 |
In this paper, we present trix, which formalizes the data flow mechanisms used in low level descriptions of algorithms that implement data base as well as programming constructs. We show that the data flow formalism permits concise expression of physical data base operators and functional evaluation, and that the formalism permits unified reasoning about the equivalence of programs of each and all of these paradigms. Specifically, we present trix formally, illustrate how programming patterns (specifically queries) translate into trix, and use "data flow equivalence" equational reasoning to show some common optimizations correct. Finally we show how the use of trix as an intermediate language can improve performance for some standard benchmarks.