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ω.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Albano, A., Ghelli, G., Orsini, R.: Types for databases: the Galileo experience. In: Proceedings of DBPL (1989)
Albano, A., Ghelli, G., Orsini, R.: Fibonacci: A programming language for object databases. Journal of Very Large Data Bases 4(3), 403–444 (1995)
Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. TOPLAS 26(5), 769–804 (2004)
Benzaken, V., Castagna, G., Frisch, A.: CDuce: An XML-centric general-purpose language. In: Proceedings of ICFP (2003)
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)
Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: Adding genericity to Java. In: Proceedings of OOPSLA (1998)
Breazu-Tannen, V., Coquand, T., Gunter, C.A., Scedrov, A.: Inheritance as implicit coercion. Information and computation 93(1), 172–221 (1991)
Buneman, P., Pierce, B.C.: Union types for semistructured data. In: Proceedings of IDPL (1998)
Chamberlin, D., et al.: XQuery use cases, http://www.w3.org/TR/xquery-use-cases/
Boag, S., et al.: XQuery, http://www.w3.org/TR/xquery
Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of POPL (1998)
Fournét, C., Gonthier, G.: The reflexive chemical abstract machine and the join-calculus. In: Proceedings of POPL (1996)
Gapeyev, V., Pierce, B.C.: Regular object types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)
Harren, M., Raghavachari, M., Shmueli, O., Burke, M., Sarkar, V., Bordawekar, R.: XJ: Integration of XML processing into Java. Technical report, IBM Research (2003)
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)
Hosoya, H., Vouillon, J., Pierce, B.C.: Regular expression types for XML. In: Proceedings of ICFP (2000)
Howard, M., LeBlanc, D.: Writing Secure Code. Microsoft Press, Redmond (2003)
Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM TOPLAS 23(3), 396–450 (2001)
Leijen, D., Meijer, E.: Domain Specific Embedded Compilers. In: Proceedings of Conference on Domain-Specific Languages (1999)
Matthes, F., Müßig, S., Schmidt, J.W.: Persistent polymorphic programming in Tycoon: An introduction. Technical report, University of Glasgow (1994)
Meijer, E., Schulte, W., Bierman, G.M.: Programming with circles, triangles and rectangles. In: Proceedings of XML (2003)
Meijer, E., Schulte, W., Bierman, G.M.: Unifying tables, objects and documents. In: Proceedings of DP-COOL (2003)
Pierce, B.C.: Types and programming languages. MIT Press, Cambridge (2002)
Price, J.: Java programming with Oracle SQLJ. O’Reilly, Sebastopol (2002)
Yu, D., Kennedy, A., Syme, D.: Formalization of generics for the .NET common language runtime. In: Proceedings of POPL (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)