skip to main content
article

On type systems for object-oriented database programming languages

Published:01 December 2002Publication History
Skip Abstract Section

Abstract

The concept of an object-oriented database programming language (OODBPL) is appealing because it has the potential of combining the advantages of object orientation and database programming to yield a powerful and universal programming language design. A uniform and consistent combination of object orientation and database programming, however, is not straightforward. Since one of the main components of an object-oriented programming language is its type system, one of the first problems that arises during an OODBPL design is related to the development of a uniform, consistent, and theoretically sound type system that is sufficiently expressive to satisfy the combined needs of object orientation and database programming.The purpose of this article is to answer two questions: "What are the requirements that a modern type system for an object-oriented database programming language should satisfy?" and "Are there any type systems developed to-date that satisfy these requirements?". In order to answer the first question, we compile the set of requirements that an OODBPL type system should satisfy. We then use this set of requirements to evaluate more than 30 existing type systems. The result of this extensive analysis shows that while each of the requirements is satisfied by at least one type system, no type system satisfies all of them. It also enables identification of the mechanisms that lie behind the strengths and weaknesses of the current type systems.

References

  1. Agesen, O., Freund, S. N., and Mitchell, J. C. 1997. Adding type parametrization to the Java language. In Proceedings of the OOPSLA'97. Google ScholarGoogle Scholar
  2. Agrawal, R. and Gehani, N. H. 1989. ODE (object database and environment): The language and the data model. In Proceedings of the ACM-SIGMOD 1989 International Conference on Management of Data. 36--45. Google ScholarGoogle Scholar
  3. Aiken, A. and Wimmers, E. L. 1993. Type inclusion constraints and type inference. Tech. Rep. RJ 9454 (83075). IBM Research Division. August.Google ScholarGoogle Scholar
  4. Aiken, A., Wimmers, E. L., and Lakshman, T. K. 1994. Soft typing with conditional types. In Conference Record of POPL '94, 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, 163--173. Google ScholarGoogle Scholar
  5. Alagić, S. 1997. The ODMG object model: Does it make sense? SIGPLAN Not. 32, 10, 253--270. Google ScholarGoogle Scholar
  6. Alagić, S. 1999. Type-checking OQL queries in the ODMG type systems. ACM Trans. Datab. Syst. 24, 3 (Sept.), 319--360. Google ScholarGoogle Scholar
  7. Albano, A., Cardelli, L., and Orsini, R. 1985. Galileo: A strongly-typed, interactive conceptual language. ACM Trans. Datab. Syst. 10, 2 (June), 230--260. Google ScholarGoogle Scholar
  8. Albano, A., Ghelli, G., and Orsini, R. 1995. Fibonacci: A programming language for object databases. VLDB J. 4, 403--444. Google ScholarGoogle Scholar
  9. Apple Computer, Inc. 1994. Dylan Interim Reference Manual. Apple Computer, Inc.Google ScholarGoogle Scholar
  10. Armstrong, J., Virding, R., Wikströ;m, C., and Williams, M. 1996. Concurrent Programming in Erlang, 2nd ed. Prentice Hall. Google ScholarGoogle Scholar
  11. Arnold, K. and Gosling, J. 1996. The Java Language Specification, 4th ed. Addison-Wesley. Google ScholarGoogle Scholar
  12. Atkinson, M., Banchilon, F., DeWitt, D., Dittrich, K., Maier, D., and Zdonik, S. 1992. The object-oriented database system manifesto. In Building an Object-Oriented Database System: The Story of O2, F. Banchilon, C. Delobel, and P. Kanellakis, Eds. Google ScholarGoogle Scholar
  13. Atkinson, M. and Morrison, R. 1995. Orthogonally persistent object systems. VLDB J. 4, 3, 319--401. Google ScholarGoogle Scholar
  14. Atkinson, M. P. and Buneman, O. P. 1987. Types and persistence in database programming languages. ACM Comput. Surv. 19, 2 (June), 105--190. Google ScholarGoogle Scholar
  15. Bal, R., Balsters, H., de By, R. A., Bosschaart, A., Flokstra, J., Keulen, M. V., Skowronek, J., and Termorshuizen, B. 1993. The TM Manual. Faculty of Computer Science, University of Twente. Version 2.0 revision C. Available electronically. URL: ftp://ftp.cs.utwente.nl/pub/doc/TM.Google ScholarGoogle Scholar
  16. Baumgartner, G., Läufer, K., and Russo, V. F. 1996. Interaction of object-oriented design patterns and programming languages. Tech. Rep. CSD-TR-96-020, Deptartment of Computer Sciences, Purdue University.Google ScholarGoogle Scholar
  17. Birtwistle, G. M., Dahl, O.-J., Myhrhaug, B., and Nygaard, K. 1979. Simula Begin. Studentlitteratur (Lund, Sweden), Bratt Institute Fuer Neues Lerned (Goch, FRG), Chartwell-Bratt Ltd (Kent, England). Google ScholarGoogle Scholar
  18. Black, A. and Palsberg, J. 1994. Foundations of object-oriented languages. ACM SIGPLAN Not. 29, 3, 3--11. Workshop Report. Google ScholarGoogle Scholar
  19. Bobrow, D. G., DeMichiel, L. G., Gabriel, R. P., Keene, S. E., Kiczales, G., and Moon, D. A. 1988. Common lisp Object System specification. X3J13 Document 88-002R.Google ScholarGoogle Scholar
  20. Bourdoncle, F. and Merz, S. 1996a. Primitive subtyping ∨ implicit polymorphism ⊢ object-orientation. In Foundations of Object-Oriented Languages 3. Extended abstract.Google ScholarGoogle Scholar
  21. Bourdoncle, F. and Merz, S. 1996b. Type checking higher-order polymorphic multi-methods. In Proceedings of the 24th ACM Conference on Principles of Programming Languages (POPL'24). Google ScholarGoogle Scholar
  22. Boyland, J. and Castagna, G. 1995. Type-safe compilation of covariant specialization: A practical case. Tech. Rep. UCB/CSD-95-890, University of California, Computer Science Division (EECS), Berkeley, Calif. Nov. Google ScholarGoogle Scholar
  23. Boyland, J. and Castagna, G. 1997. Parasitic methods: An implementation of multi-methods in Java. SIGPLAN Not. 32, 10, 66--76. (Proceedings of OOPSLA'97). URL: ftp://ftp.ens.fr/pub/dmi/users/castagna/oopsla97.ps.gz. Google ScholarGoogle Scholar
  24. Bracha, G. and Griswold, D. 1993. Strongtalk: Typechecking Smalltalk in a production environment. In Proceedings of the ACM Conference on Object-Oriented Programming: Systems, Languages, and Applications. Google ScholarGoogle Scholar
  25. Bracha, G., Odersky, M., Stoutamire, D., and Wadler, P. 1998a. GJ: Extending the Java programming language with type parameters. Manuscript. Revised August 1998. URL: http://www.cis.unisa.edu.au/∼pizza/gi/Documents/.Google ScholarGoogle Scholar
  26. Bracha, G., Odersky, M., Stoutamire, D., and Wadler, P. 1998b. GJ specification. Manuscript URL: http://www.cis.unisa.edu.au/∼pizza/gi/documents/.Google ScholarGoogle Scholar
  27. Bracha, G., Odersky, M., Stoutamire, D., and Wadler, P. 1998c. Making the future safe for the past: Adding genericity to the Java programming language. In Proceedings of the 13th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'98). 183--200. Google ScholarGoogle Scholar
  28. Bruce, K., Cardelli, L., Castagna, G., The Hopkins Object Group, Leavens, G., and Pierce, B. 1996a. On binary methods. Theory Prac. Obj. Syst. 1, 3, 221--242. Google ScholarGoogle Scholar
  29. Bruce, K. B., Fiech, A., and Petersen, L. 1996b. Subtyping is not a good "match" for object-oriented languages. In Informal Proceedings of the 4th Workshop on Foundations of Object-Oriented Languages (FOOL 4). Contributed talk.Google ScholarGoogle Scholar
  30. Bruce, K. B., Odersky, M., and Wadler, P. 1998. A statically safe alternative to virtual types. In Proceedings of the 1998 European Conference on Object-Oriented Programming (ECOOP'98). Google ScholarGoogle Scholar
  31. Bruce, K. B., Schuett, A., and Gent, R. V. 1994. A type-safe polymorphic object-oriented language. Accessible by anonymous FTP. URL: ftp://cs.williams.edu/pub/kim/PolyTOIL.dvi.Google ScholarGoogle Scholar
  32. Bruce, K. B., Schuett, A., and Gent, R. V. 1995. PolyTOIL: A type-safe polymorphic object-oriented language. In Proceedings of the 9th European Conference on Object-Oriented Programming (ECOOP'95), (Åarhus, Denmark). W. Olthoff, Ed. Lecture Notes in Computer Science, vol. 952. Springer-Verlag, New York. Extended abstract. Google ScholarGoogle Scholar
  33. Bruce, K. K. 1996. Typing in object-oriented languages: Achieving expressibility and safety. URL: ftp://cs.williams.edu/pub/Kim/Static.ps.Google ScholarGoogle Scholar
  34. Buneman, P. and Ohori, A. 1996. Polymorphism and type inference in database programming. ACM Trans. Datab. Syst. 21, 1 (March), 30--76. Google ScholarGoogle Scholar
  35. Buneman, P. and Pierce, B. 1999. Union types for semistructured data. Tech. Rep. MS-CIS-99-09, Department of CIS, University of Pennsylvania.Google ScholarGoogle Scholar
  36. Cardelli, L. 1986. A polymorphic λ-calculus with Type:Type. Tech. Rep. 10, DEC SRC, 130 Lytton Avenue, Palo Alto, CA 94301. May. SRC Research Report.Google ScholarGoogle Scholar
  37. Cardelli, L. 1988. A semantics of multiple inheritance. Inf. Comput. 76, 138--164. Google ScholarGoogle Scholar
  38. Cardelli, L. 1989. Typeful programming. In Formal Description of Programming Concepts, E. J. Neuhold and M. Paul, Eds. IFIP State of the Art Reports Series. Springer-Verlag, New York. URL: http://www.luca.demon. co.uk/Bibliography.html.Google ScholarGoogle Scholar
  39. Cardelli, L. 1993. An implementation of F<:. Tech. Rep. 97, DEC Systems Research Center. February.Google ScholarGoogle Scholar
  40. Cardelli, L. 1997. Type systems. In The Computer Science and Engineering Handbook, A. B. Tucker, Ed. CRC Press, Chapter 103. URL: http://www.luca.demon.co.uk/Bibliography.html.Google ScholarGoogle Scholar
  41. Cardelli, L., Martini, S., Mitchell, J. C., and Scedrov, A. 1991. An extension of system F with subtyping. In Proceedings of the International Conference on Theoretical Aspects of Computer Software, T. Ito and A. R. Meyer, Eds. Lecture Notes in Computer Science, vol. 526. Springer-Verlag, New York, pp. 756--770. Google ScholarGoogle Scholar
  42. Castagna, G. 1996. Object-Oriented Programming: A Unified Foundation. In Progress in Theoretical Computer Science. Birkaüzer, Boston, Chapter Type Systems for Object-Oriented Programming. Google ScholarGoogle Scholar
  43. Castagna, G., Ghelli, G., and Longo, G. 1995. A calculus for overloaded functions with subtyping. Inf. Comput. 117, 1 (Feb.), 115--135. Google ScholarGoogle Scholar
  44. Cattell, R. G. G., Barry, D., Bartels, D., Berler, M., Eastman, J., Gamerman, S., Jordan, D., Springer, A., Strickland, H., and Wade, D. 1997. The Object Database Standard: ODMG 2.0. Morgan-Kaufmann, Los Altos, Calif. Google ScholarGoogle Scholar
  45. Chambers, C. 1992. Object-oriented multi-methods in Cecil. In ECOOP '92, European Conference on Object-Oriented Programming, (Utrecht, The Netherlands), O. L. Madsen, Ed. Lecture Notes in Computer Science, vol. 615. Springer-Verlag, New York, pp. 33--56. Google ScholarGoogle Scholar
  46. Chambers, C. 1993. The Cecil language: Specification and rationale. Tech. Rep. TR 93-03-05. Department of Computer Science and Engineering, FR-35, University of Washington. Mar.Google ScholarGoogle Scholar
  47. Chambers, C. and Leavens, G. T. 1996. BeCecil, A core object-oriented language with block structure and multimethods: Semantics and typing. Tech. Rep. 96-17. Department of Computer Science, Iowa State University. Dec.Google ScholarGoogle Scholar
  48. Chambers, C. and Leavens, G. T. 1997. BeCecil, A core object-oriented language with block structure and multimethods: Semantics and typing. In FOOL 4. In Proceedings of the 4th International Workshop on Foundations of Object-Oriented Languages (Paris, France).Google ScholarGoogle Scholar
  49. Chen, K. and Odersky, M. 1994. A type system for a lambda calculus with assignment. In Proceedings of the Theoretical Aspects of Computer Science (Sendai, Japan). Lecture Notes in Computer Science. Springer-Verlag, New York. Google ScholarGoogle Scholar
  50. Connor, R. C. H., McNally, D. J., and Morrison, R. 1991. Subtyping and assignment in database programming languages. In Proceedings of the 3rd International Workshop on Database Programming Languages (Napfilon, Greece). Google ScholarGoogle Scholar
  51. Day, M., Gruber, R., Liskov, B., and Myers, A. C. 1995. Subtypes vs where clauses: Constraining parametric polymorphism. SIGPLAN Notices 30, 10 (Oct.), 156--168. Google ScholarGoogle Scholar
  52. Drossopoulou, S. and Eisenbach, S. 1997. Java is type safe---probably. In Proceedings of the 11th European Conference on Object Oriented Programming (ECOOP'97).Google ScholarGoogle Scholar
  53. Eifrig, J., Smith, S., and Trifonov, V. 1995a. Sound polymorphic type inference for objects. SIGPLAN Notices 30, 10 (Oct.), 169--184. Google ScholarGoogle Scholar
  54. Eifrig, J., Smith, S., and Trifonov, V. 1995b. Type inference for recursively constrained types and its application to OOP. Electronic Notes in Theoretical Computer Science 1. URL: http://www.elsevier.nl/locate/entcs/volume1.html.Google ScholarGoogle Scholar
  55. Eifrig, J., Smith, S., Trifonov, V., and Zwarico, A. 1995c. An interpretation of typed OOP in a language with state. LISP Symb. Comput. 8, 4, 357--397. Google ScholarGoogle Scholar
  56. Fisher, K. and Mitchell, J. C. 1996. The development of type systems for object-oriented languages. Theory Pract. Obj. Syst. 1, 3, 189--220. URL: ftp://theory.stanford.edu/pub/jcm/papers/tapos.ps. Google ScholarGoogle Scholar
  57. Franz, M. 1997. The programming language Lagoona---A fresh look at object-orientation. Softw---Concepts and Tools 18, 14--26.Google ScholarGoogle Scholar
  58. Gawecki, A. and Matthes, F. 1996. Integrating subtyping, matching and type quantification: A practical perspective. In Proceedings of the 10th European Conference on Object-Oriented Programming (Linz, Austria). Springer-Verlag, New York. Google ScholarGoogle Scholar
  59. Goldberg, A. and Robson, D. 1989. ST-80, The Language. Addison-Wesley, Reading, Mass.Google ScholarGoogle Scholar
  60. Harbison, S. P. 1992. Modula-3. Prentice-Hall, Eglewood Cliffs, N.J. Google ScholarGoogle Scholar
  61. Hauck, F. J. 1993. Towards the implementation of a uniform object model. In Parallel Computer Architectures: Theory, Hardware, Software, and Applications---SFB Colloquium SFB 182 and SFB 342, A. Bode and M. D. Cin, Eds. Lecture Notes in Computer Science, vol. 732. Springer-Verlag, New York, pp. 180--189. Google ScholarGoogle Scholar
  62. Kempe Software Capital Enterprises 1995. Ada 95 Reference Manual. Kempe Software Capital Enterprises. Available electronically. URL: http://www.adahome.com/rm95.Google ScholarGoogle Scholar
  63. Kim, W. 1993. Object-oriented database systems: Promises, reality, and future. In Proceedings of the 19th VLDB Conference. 676--687. Google ScholarGoogle Scholar
  64. Kirby, G. N. C., Connor, R. C. H., Morrison, R., and Stemple, D. 1996. Using reflection to support type-safe evolution in persistent systems. Tech. Rep. CS/96/10. University of St. Andrews.Google ScholarGoogle Scholar
  65. Klas, W. and Turau, V. 1992. Persistence in the object-oriented database programming language VML. Tech. Rep. TR-92-045, International Computer Science Institute, 1947 Center St., Suite 600, Berkeley, CA 94704-1198. July.Google ScholarGoogle Scholar
  66. LaLonde, W. R. and Pugh, J. 1991. Subclassing ≠ subtyping ≠ is-a. J. Obj. Orient. Prog. 3, 5 (Jan.), 57--62. Google ScholarGoogle Scholar
  67. Leavens, G. T. and Millstein, T. D. 1998. Multiple dispatch as dispatch on tuples. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'98). ACM, New York, pp. 374--387. URL: http://www.cs.washington.edu/homes/todd/papers/oopsla98.ps. Google ScholarGoogle Scholar
  68. Lécluse, C., Richard, P., and Vélez, F. 1992. O2, an object-oriented data model. In Building an Object-Oriented Database System: The Story of O2, F. Banchilon, C. Delobel, and P. Kanellakis, Eds. Google ScholarGoogle Scholar
  69. Leontiev, Y. 1999. Type system for an object-oriented database programming language. Ph.D. dissertation. Department of Computing Science, University of Alberta. Also available as Tech. Rep. TR 99-02. Google ScholarGoogle Scholar
  70. Leontiev, Y., Özsu, M. T., and Szafron, D. 1998. On separation between interface, implementation, and representation in object DBMSs. In Proceedings of TOOLS--26'98. Santa Barbara, Calif. Google ScholarGoogle Scholar
  71. Litvinov, V. 1998. Constraint-based polymorphism in Cecil: Towards a practical and static type system. In Proceedings of the 1998 Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA'98). Google ScholarGoogle Scholar
  72. Lutiy, V. G., Merkov, A. B., Leontiev, Y. V., Gawrilow, E. J., Ivanova, N. A., Iofinova, M. E., Paklin, M. L., and Hodataev, A. K. 1994. DBMS Modula--90K. RAN Data Processing Center, Moscow (In Russian: Sistema Programmirovaniya Baz Dannyh Modula-90K).Google ScholarGoogle Scholar
  73. Madsen, O. L., Møller-Pedersen, B., and Nygaard, K. 1993. Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  74. Marlow, S. and Wadler, P. 1997. A practical subtyping system for Erlang. In Proceedings of the Second International Conference on Functional Programming (Amsterdam, The Netherlands). Google ScholarGoogle Scholar
  75. Matthes, F., Müssig, S., and Schmidt, J. W. 1994. Persistent polymorphic programming in Tycoon: An introduction. FIDE Technical Report Series FIDE/94/106. Department of Computing Sciences, University of Glasgow, Glasgow G128QQ. August.Google ScholarGoogle Scholar
  76. Matthes, F. and Schmidt, J. 1991. Bulk types: Built-in or add-on? In Proceedings of the 3rd International Workshop on Database Programming Languages. Morgan-Kaufmann, Los Atlos, Calif. Google ScholarGoogle Scholar
  77. Matthes, F. and Schmidt, J. 1992. Definition of the Tycoon languages---A preliminary report. Tech. Rep. FBI-HH-B-160/92, Universität Hamburg. October.Google ScholarGoogle Scholar
  78. Meyer, B. 1988. Eiffel---The language. Prentice-Hall. Google ScholarGoogle Scholar
  79. Miller, R., Tofte, M., and Harper, R. 1990. The Definition of Standard ML. MIT Press. Google ScholarGoogle Scholar
  80. Morrison, R., Brown, F., Connor, R., Cutts, Q., Dearle, A., Kirby, G., and Munro, D. 1996. Napier88 Reference Manual. University of St. Andrews. Release 2.2.1.Google ScholarGoogle Scholar
  81. Mössenbök, H. and Wirth, N. 1993. The programming language Oberon-2. Manuscript. Institut für Computersysteme, ETH Zürich.Google ScholarGoogle Scholar
  82. Myers, A. C., Bank, J. A., and Liskov, B. 1997. Parameterized types for Java. In Proceedings of the 24th ACM Simposium on Principles of Programming Languages (POPL'97). Google ScholarGoogle Scholar
  83. Odersky, M. and Läufer, K. 1996. Putting type annotations to work. In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages. 65--67. Google ScholarGoogle Scholar
  84. Odersky, M. and Wadler, P. 1997. Pizza into Java: Translating theory into practice. In Proceedings of the 24th ACM Simposium on Principles of Programming Languages (POPL'97). Google ScholarGoogle Scholar
  85. Ohori, A., Buneman, P., and Breazu-Tannen, V. 1989. Database programming in Machiavelli---a polymorphic language with static type inference. SIGMOD Record 18, 2, 46--57. Google ScholarGoogle Scholar
  86. Pottier, F. 1998. Type inference in the presence of subtyping: from theory to practice. Ph.D. thesis, Université Paris VII.Google ScholarGoogle Scholar
  87. Qian, Z. and Krieg-Brueckner, B. 1996. Typed OO functional programming with late binding. In Proceedings of the 10th European Conference on Object-Oriented Programming, P. Cointe, Ed. Lecture Notes in Computer Science, vol. 1098. Springer-Verlag, New York, pp. 48--72. Google ScholarGoogle Scholar
  88. Raj, R. K., Tempero, E., Levy, H. M., Black, A. P., Hutchinson, N. C., and Jul, E. 1991. Emerald: A general-purpose programming language. Softw. Pract. Exp. 21, 1 (Jan.), 91--118. Google ScholarGoogle Scholar
  89. Rehof, J. 1998. The complexity of simple subtyping systems. Ph.D. dissertation, DIKU, Department of Computer Science, University of Copenhagen.Google ScholarGoogle Scholar
  90. Richardson, J. E., Carey, M. J., and Schuh, D. T. 1993. The design of the E programming language. ACM Trans. Prog. Lang. Syst. 15, 3 (July), 494--534. Google ScholarGoogle Scholar
  91. Roe, P. and Szyperski, C. 1997. Lightweight parametric polymorphism for Oberon. In Proceedings of the Joint Modular Languages Conference. Google ScholarGoogle Scholar
  92. Saraswat, V. 1997. Java is not type-safe. Available electronically. URL: http://www.research. att.com/∼vj/bug.htmlGoogle ScholarGoogle Scholar
  93. Schmidt, J. W. and Matthes, F. 1994. The DBPL project: Advances in modular database programming. Inf. Syst. 19, 2, 121--140. Google ScholarGoogle Scholar
  94. Sequeira, D. 1998. Type inference with bounded quantification. Ph.D. thesis, Department of Computer Science, University of Edinburgh. Also Technical Report ECS--LFCS--98--403.Google ScholarGoogle Scholar
  95. Shang, D. 1997. Transframe: The Annotated Reference. Software Systems Research Laboratory, Motorola, Inc., Schaumburg, Illinois. Draft 1.4.Google ScholarGoogle Scholar
  96. SQL 1999. Database languages---SQL. American National Standard for Information Technology. ANSI/ISO/IEC 9075-1-1999, 9075-2-1999, 9075-3-1999, 9075-4-1999, 9075-5-1999.Google ScholarGoogle Scholar
  97. Stoutamire, D. and Omohundro, S. 1996. The Sather 1.1 specification. Tech. Rep. TR-96-012, International Computer Science Institute at Berkeley. August.Google ScholarGoogle Scholar
  98. Stroustrup, B. 1991. The C++ Programming Language. Addison-Wesley. Google ScholarGoogle Scholar
  99. Taivalsaari, A. 1996. On the notion of inheritance. ACM Comput. Surv. 28, 3 (Sept.), 439--479. Google ScholarGoogle Scholar
  100. Thorup, K. K. 1997. Genericity in Java with virtual types. In Proceedings of the 1997 European Conference on Object-Oriented Programming (ECOOP'97).Google ScholarGoogle Scholar
  101. Trifonov, V. and Smith, S. 1996. Subtyping constrained types. In Proceedings of the 3rd International Static Analysis Symposium. 349--365. Lecture Notes in Computer Science 1145. Google ScholarGoogle Scholar
  102. Tsichritzis, D., Nierstrasz, O., and Gibbs, S. 1992. Beyond objects: Objects. Int. J. Intel. Coop. Info. Syst. 1, 1 (Mar.), 43--60.Google ScholarGoogle Scholar
  103. W3c 2002. XQuery 1.0 Formal Semantics. W3C. Working Draft 26. URL: http://www.w3.org/ TR/2002/WD-query-semantics-20020326/.Google ScholarGoogle Scholar
  104. Wirth, N. 1983. Programming in Modula-2, 2nd ed. Springer-Verlag. Google ScholarGoogle Scholar
  105. Wright, A. K. 1993. Polymorphism for imperative languages without imperative types. Tech. Rep. TR93-200, Department of Computer Science, Rice University. February.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader