Skip to main content

A Data Flow Language for Hybrid Query and Programming Languages

  • Conference paper
Functional and Logic Programming (FLOPS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7294))

Included in the following conference series:

  • 609 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., Ullman, J.D.: Universality of data retrieval languages. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1979, pp. 110–119. ACM, New York (1979)

    Chapter  Google Scholar 

  2. Appel, A.W.: SSA is functional programming. ACM SIGPLAN Notices 33(4), 17–20 (1998)

    Article  MathSciNet  Google Scholar 

  3. Boag, S., Chamberlain, D., Fernández, M.F., Florescu, D., Robie, J., Siméon, J.: XQuery 1.0: An XML query language. W3C recommendation. World Wide Web Consortium (December 2010)

    Google Scholar 

  4. Box, D., Hejlsberg, A.: Linq (language integrated query) (2007)

    Google Scholar 

  5. Buneman, P., Libkin, L., Suciu, D., Tannen, V., Wong, L.: Comprehension syntax. SIGMOD Record 23(1), 87–96 (1994)

    Article  Google Scholar 

  6. Codd, E.F.: A relational model of data for large shared data banks. Commun. ACM 13, 377–387 (1970)

    Article  MATH  Google Scholar 

  7. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Kenneth Zadeck, F.: Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems 13(4), 451–490 (1991)

    Article  Google Scholar 

  8. Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. In: Sixth Symposium on Operating System Design and Implementation (OSDI), San Francisco, CA (December 2004)

    Google Scholar 

  9. Ghelli, G., Onose, N., Rose, K., Siméon, J.: A Better Semantics for XQuery with Side-Effects. In: Arenas, M. (ed.) DBPL 2007. LNCS, vol. 4797, pp. 81–96. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Ghelli, G., Onose, N., Rose, K., Simeon, J.: Xml query optimization in the presence of side effects. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, Vancouver, Canada, pp. 339–352 (2008)

    Google Scholar 

  11. Hutton, G.: Higher-order functions for parsing. Journal of Functional Programming 2(3), 323–343 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  12. Ibm db2 v9 sql procedural language (sql pl) (2007), http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.sql.doc/doc/c0011916.html

  13. Jones, S.P., Wadler, P.: Comprehensive comprehensions. In: Haskell Workshop, Freiburg, Germany (September 2007)

    Google Scholar 

  14. Kelsey, R.: A correspondence between continuation passing style and static single assignment form. In: ACM SIGPLAN Notices, pp. 13–22. ACM Press (1995)

    Google Scholar 

  15. Meijer, E.: The world according to linq. ACM Queue (2011)

    Google Scholar 

  16. Ohori, A., Ueno, K.: Making standard ml a practical database programming language. In: ICFP (2011)

    Google Scholar 

  17. Oracle database 11g pl/sql (2011), http://www.oracle.com/technetwork/database/features/plsql/index.html

  18. Raskovsky, M.R.: Denotational semantics as a specification of code generators. In: Proceedings of the 1982 SIGPLAN Symposium on Compiler Construction, SIGPLAN, Boston, Massachusetts, pp. 230–244. ACM (1982)

    Google Scholar 

  19. Re, C., Siméon, J., Fernández, M.F.: A complete and efficient algebraic compiler for XQuery. In: ICDE 2006—The 22nd International Conference on Data Engineering, Atlanta, Georgia, USA (April 2006)

    Google Scholar 

  20. Robie, J., Brantner, M., Florescu, D., Fourny, G., Westmann, T.: JSONiq (2011), http://jsoniq.org

  21. Snelson, J., Chamberlin, D., Engovatov, D., Florescu, D., Ghelli, G., Melton, J., Siméon, J.: Xquery scripting extension 1.0. W3c working draft. World Wide Web Consortium (April 2010)

    Google Scholar 

  22. Soulé, R., Hirzel, M., Grimm, R., Gedik, B., Andrade, H., Kumar, V., Wu, K.-L.: A Universal Calculus for Stream Processing Languages. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 507–528. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  23. Squeryl: A scala orm and dsl for talking with databases with minimum verbosity and maximum type safety

    Google Scholar 

  24. Wong, L.: Kleisli, a functional query system. Journal of Functional Programming 10(1), 19–56 (2000)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rose, K.H., Villard, L., Sato, N. (2012). A Data Flow Language for Hybrid Query and Programming Languages. In: Schrijvers, T., Thiemann, P. (eds) Functional and Logic Programming. FLOPS 2012. Lecture Notes in Computer Science, vol 7294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29822-6_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29822-6_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29821-9

  • Online ISBN: 978-3-642-29822-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics