Skip to main content

The Essence of Data Access in Cω

The Power is in the Dot!

  • Conference paper
Book cover ECOOP 2005 - Object-Oriented Programming (ECOOP 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3586))

Included in the following conference series:

Abstract

In this paper we describe the data access features of Cω, an experimental programming language based on C# currently under development at Microsoft Research. Cω targets distributed, data-intensive applications and accordingly extends C#’s support of both data and control. In the data dimension it provides a type-theoretic integration of the three prevalent data models, namely the object, relational, and semi-structured models of data. In the control dimension Cω provides elegant primitives for asynchronous communication. In this paper we concentrate on the data dimension. Our aim is to describe the essence of these extensions; by which we mean we identify, exemplify and formalize their essential features. Our tool is a small core language, FCω, which is a valid subset of the full Cω language. Using this core language we are able to formalize both the type system and the operational semantics of the data access fragment of Cω.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Albano, A., Ghelli, G., Orsini, R.: Types for databases: the Galileo experience. In: Proceedings of DBPL (1989)

    Google Scholar 

  2. Albano, A., Ghelli, G., Orsini, R.: Fibonacci: A programming language for object databases. Journal of Very Large Data Bases 4(3), 403–444 (1995)

    Article  Google Scholar 

  3. Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. TOPLAS 26(5), 769–804 (2004)

    Article  Google Scholar 

  4. Benzaken, V., Castagna, G., Frisch, A.: CDuce: An XML-centric general-purpose language. In: Proceedings of ICFP (2003)

    Google Scholar 

  5. Bierman, G.M., Parkinson, M.J., Pitts, A.M.: MJ: An imperative core calculus for Java and Java with effects. Technical Report 563, University of Cambridge (2003)

    Google Scholar 

  6. Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: Adding genericity to Java. In: Proceedings of OOPSLA (1998)

    Google Scholar 

  7. Breazu-Tannen, V., Coquand, T., Gunter, C.A., Scedrov, A.: Inheritance as implicit coercion. Information and computation 93(1), 172–221 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  8. Buneman, P., Pierce, B.C.: Union types for semistructured data. In: Proceedings of IDPL (1998)

    Google Scholar 

  9. Chamberlin, D., et al.: XQuery use cases, http://www.w3.org/TR/xquery-use-cases/

  10. Boag, S., et al.: XQuery, http://www.w3.org/TR/xquery

  11. Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of POPL (1998)

    Google Scholar 

  12. Fournét, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: Proceedings of POPL (1996)

    Google Scholar 

  13. Gapeyev, V., Pierce, B.C.: Regular object types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. Harren, M., Raghavachari, M., Shmueli, O., Burke, M., Sarkar, V., Bordawekar, R.: XJ: Integration of XML processing into Java. Technical report, IBM Research (2003)

    Google Scholar 

  15. Hosoya, H., Pierce, B.C.: XDuce: A typed XML processing language. In: Suciu, D., Vossen, G. (eds.) WebDB 2000. LNCS, vol. 1997, p. 226. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  16. Hosoya, H., Vouillon, J., Pierce, B.C.: Regular expression types for XML. In: Proceedings of ICFP (2000)

    Google Scholar 

  17. Howard, M., LeBlanc, D.: Writing Secure Code. Microsoft Press, Redmond (2003)

    Google Scholar 

  18. Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM TOPLAS 23(3), 396–450 (2001)

    Article  Google Scholar 

  19. Leijen, D., Meijer, E.: Domain Specific Embedded Compilers. In: Proceedings of Conference on Domain-Specific Languages (1999)

    Google Scholar 

  20. Matthes, F., Müßig, S., Schmidt, J.W.: Persistent polymorphic programming in Tycoon: An introduction. Technical report, University of Glasgow (1994)

    Google Scholar 

  21. Meijer, E., Schulte, W., Bierman, G.M.: Programming with circles, triangles and rectangles. In: Proceedings of XML (2003)

    Google Scholar 

  22. Meijer, E., Schulte, W., Bierman, G.M.: Unifying tables, objects and documents. In: Proceedings of DP-COOL (2003)

    Google Scholar 

  23. Pierce, B.C.: Types and programming languages. MIT Press, Cambridge (2002)

    Google Scholar 

  24. Price, J.: Java programming with Oracle SQLJ. O’Reilly, Sebastopol (2002)

    Google Scholar 

  25. Yu, D., Kennedy, A., Syme, D.: Formalization of generics for the .NET common language runtime. In: Proceedings of POPL (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bierman, G., Meijer, E., Schulte, W. (2005). The Essence of Data Access in Cω . In: Black, A.P. (eds) ECOOP 2005 - Object-Oriented Programming. ECOOP 2005. Lecture Notes in Computer Science, vol 3586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11531142_13

Download citation

  • DOI: https://doi.org/10.1007/11531142_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27992-1

  • Online ISBN: 978-3-540-31725-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics