Advertisement

Language technology for post-relational data systems

  • Joachim W. Schmidt
  • Florian Matthes
User Aspects
Part of the Lecture Notes in Computer Science book series (LNCS, volume 466)

Abstract

Practice has proven that databases are the keystones for nearly all application systems with a wider functionality, utilization and availability. As a consequence, next generation database systems will have to provide their services with a degree of interoperability that has to be substantially improved over existing solutions. In this paper we argue that this objective can be achieved only through full exploitation of current developments in computer language technology.

We claim that the merits of modern computer languages' naming schemes, typing systems and binding mechanisms are vital also for database management systems if they want to improve the quality of their interaction with application languages and programming environments as well as their own functionality and extensibility.

This paper studies the technological basis of modern computer languages and presents DBPL as a working example of a highly interoperable database programming language that exploits such technology.

Requirements of future data systems are discussed by emphasizing the abstraction principles considered helpful for the adequate design and organization of data-intensive applications and for the modularization, localization and, finally, the implementation of data-based systems. We conclude by relating the potential of advanced language technology to such specific demands of the next generation of post-relational data systems.

Key words

database programming languages query languages interoperability open systems language design principles naming schemes type systems binding mechanisms DBPL 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [A89]
    M. Atkinson et al. The Object-Oriented Database System Manifesto. Technical Report 30–89, GIP Altair, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex-France, September 1989.Google Scholar
  2. [AB87]
    M.P. Atkinson and P. Bunemann. Types and Persistence in Database Programming Languages. ACM Computing Surveys, 19(2), June 1987.Google Scholar
  3. [AB88]
    S. Abiteboul and C. Beeri. On the Power of Languages for the Manipulation of Complex Objects. Rapports de Recherche 846, INRIA, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex-France, May 1988.Google Scholar
  4. [ABC83]
    M.P. Atkinson, P.J. Bailey, K.J. Chisholm, W.P. Cockshott, and R. Morrison. An approach to persistent programming. Computer Journal, 26(4), November 1983.Google Scholar
  5. [ABM88]
    M.P. Atkinson, P. Buneman, and R. Morrison, editors. Data Types and Persistence. Topics in Information Systems. Springer-Verlag, 1988.Google Scholar
  6. [ACC81]
    M.P. Atkinson, K.J. Chisholm, and W.P. Cockshott. PS-Algol: An Algol with a Persistent Heap. ACM SIGPLAN Notices, 17(7), July 1981.Google Scholar
  7. ADG89.
    A. Albano, A. Dearle, G. Ghelli, C. Martin, R. Morrison, R. Orsini, and D. Stemple. A Framework for Comparing Type Systems for Database Programming Languages. In Proc. of the 2nd Workshop on Database Programming Languages, Portland, Oregon, pages 203–212, June 1989.Google Scholar
  8. [AFS89]
    S. Abiteboul, P.C. Fischer, and H.J. Schek. Nested Relations and Complex Objects in Databases, volume 361 of Lecture Notes in Computer Science. Springer-Verlag, 1989.Google Scholar
  9. [AH87]
    S. Abiteboul and R. Hull. IFO: A Formal Semantic Database Model. ACM Transactions on Database Systems, 12(4), 1987.Google Scholar
  10. [AK89]
    S. Abiteboul and P.C. kanellakis. Object Identity as a Query Language Primitive. In ACM-SIGMOD International Conference on Management of Data, pages 159–173, Portland, Oregon, 1989.Google Scholar
  11. [Alb83]
    A. Albano. Type Hierarchies and Semantic Data Models. In ACM SIGPLAN '83: Symposium on Programming Language Issues in Software Systems, pages 178–186, San Francisco, 1983.Google Scholar
  12. [AM85]
    M.P. Atkinson and R. Morrison. First class persistent procedures. ACM Transactions on Programming Languages and Systems, 7(4), October 1985.Google Scholar
  13. [AM88]
    M.P. Atkinson and R. Morrison. Types, Bindings and Parameters in a Persistent Environment. In M.P. Atkinson, P. Buneman, and R. Morrison, editors, Data Types and Persistence, Topics in Information Systems. Springer-Verlag, 1988.Google Scholar
  14. [Ban88]
    F. Bancilhon. Object-Oriented Database Systems. In Proc. of the ACM PODS Conf., Austin, March 1988.Google Scholar
  15. [Bat86]
    D.S. Batory. GENESIS: A Project to Develop an Extensible Database Management System. In Proc. 1986 Int. Workshop on Object-Oriented Database Systems, pages 207–208, September 1986.Google Scholar
  16. [BB84]
    D. Batory and A. Buchmann. Molecular Objects, Abstract Data Types, and Data Models: A Framework. In Proc. of the 10h International Conference on Very Large Data Bases, 1984.Google Scholar
  17. [BB87]
    F. Bancilhon and P. Buneman, editors. Proceedings of the 1st Workshop on Database Programming Languages. Altair, 1987.Google Scholar
  18. [BCD89]
    F. Bancilhon, S. Cluet, and C. Delobel. A Query Language for the O2 Object-Oriented Database System. In Proc. of the 2nd Workshop on Database Programming Languages, Salishan Lodge, Oregon, June 1989.Google Scholar
  19. [Bee88]
    C. Beeri. Data Models and Languages for Databases. Technical report, Dept. of Comp. Science, The Hebrew University, Jerusalem, Israel, 1988.Google Scholar
  20. [BHG87]
    P.A. Bernstein, V. Hadzilacos, and N. Goodman, editors. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  21. [BHR82]
    P. Bunemann, J. Hirschberg, and D. Root. A Codasyl Interface to Pascal and Ada. In Proc. 2nd British National Conference on Databases (BNCOD 2). Cambridge University Press, 1982.Google Scholar
  22. [BL84]
    R. Burstall and B. Lampson. A kernel language for abstract data types and modules. In Semantics of Data Types, volume 173 of Lecture Notes in Computer Science. Springer-Verlag, 1984.Google Scholar
  23. [BL87]
    P.A. Bernstein and D.B. Lomet. CASE Requirements for Extensible Database Systems. Database Engineering, Special Issue on Extensible Database Systems, 10(2), June 1987.Google Scholar
  24. [BMS84]
    M.L. Brodie, J. Myopoulos, and J.W. Schmidt, editors. On Conceptual Modelling, Perspectives from Artificial Intelligence, Databases, and Programming Languages. Springer-Verlag, 1984.Google Scholar
  25. [BMW84]
    A. Borgida, J. Mylopoulos, and H.K.T. Wong. Generalization / Specialization as a Basis for Software Specification. In M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors, On Conceptual Modelling, Topics in Information Systems, pages 87–117. Springer-Verlag, 1984.Google Scholar
  26. [BR84]
    M.L. Brodie and D. Ridjanovic. On the Design and Specification of Database Transactions. In M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors, On Conceptual Modelling, Topics in Information Systems. Springer-Verlag, 1984.Google Scholar
  27. [Bro84]
    M.L. Brodie. On the Development of Data Models. In M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors, On Conceptual Modelling, Topics in Information Systems. Springer-Verlag, 1984.Google Scholar
  28. [BTBO89]
    V. Breazu-Tannen, P. Buneman, and A. Ohori. Can Object-Oriented Databases be Statically Typed? In Proc. of the 2nd Workshop on Database Programming Languages, Salishan Lodge, Oregon, June 1989.Google Scholar
  29. [C86]
    M. Carey et al. The Architecture of the EXODUS Extensible DBMS. In Proc. International Workshop on Object-Oriented Database Systems, pages 52–65, Pacific Grove, Ca., September 1986.Google Scholar
  30. [Car84]
    L. Cardelli. A Semantics of Multiple Inheritance. In G. Kahn, D.B. MacQueen, and G. Plotkin, editors, Semantics of Data Types, volume 173 of Lecture Notes in Computer Science, pages 51–67. Springer-Verlag, 1984.Google Scholar
  31. [Car88]
    L. Cardelli. Types for Data-Oriented Languages. In Advances in Database Technology, EDBT '88, volume 303 of Lecture Notes in Computer Science, pages 1–15. Springer-Verlag, 1988.Google Scholar
  32. [Car89]
    L. Cardelli. Typeful Programming. Digital Systems Research Center Reports 45, DEC SRC Palo Alto, May 1989.Google Scholar
  33. [CD87]
    M.J. Carey and D.J. DeWitt. An Overview of the EXODUS Project. Database Engineering, Special Issue on Extensible Database Systems, 10(2), June 1987.Google Scholar
  34. [CDG88]
    [CDG+88] L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 Report. Technical Report ORC-1, Olivetti Research Center, 2882 Sand Hill Road, Memlo Park, California, 1988.Google Scholar
  35. [CDMB90]
    R. Connor, A. Dearle, R. Morrison, and F. Brown. Existentially Quantified Types as a Database Viewing Mechanism. In Advances in Database Technology, EDBT '90, volume 416 of Lecture Notes in Computer Science, pages 301–315. Springer-Verlag, 1990.Google Scholar
  36. [CL90]
    L. Cardelli and G. Longo. A semantic basis for Quest. Digital Systems Research Center Reports 55, DEC SRC Palo Alto, March 1990.Google Scholar
  37. [CM84]
    G. Copeland and D. Maier. Making Smalltalk a database system. In ACM-SIGMOD International Conference on Management of Data, pages 316–325, Boston, Ma., June 1984.Google Scholar
  38. [CM88]
    L. Cardelli and D. MacQueen. Persistence and Type Abstraction. In Data Types and Persistence, Topics in Information Systems. Springer-Verlag, 1988.Google Scholar
  39. [Cod79]
    E.F. Codd. Extending the Relational Database Model to Capture More Meaning. ACM Transactions on Database Systems, 4(4), December 1979.Google Scholar
  40. [CRZNM88]
    L.K. Chung, D. Rios-Zertuche, B. Nixon, and J. Mylopoulos. Process Management and Assertion Enforcement for a Semantic Data Model. In Advances in Database Technology, EDBT '88, volume 303 of Lecture Notes in Computer Science, pages 469–487. Springer-Verlag, 1988.Google Scholar
  41. [CW85]
    L. Cardelli and P. Wegner. On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing Surveys, 17(4):471–522, December 1985.Google Scholar
  42. [Dat84]
    C.J. Date. Some Principles of Good Language Design with Special Reference to the Design of Database Languages. ACM SIGMOD Record, 14(3):1–7, November 1984.Google Scholar
  43. [Dat89]
    C.J. Date. A Guide to the SQL Standard. Addison-Wesley, second edition, 1989.Google Scholar
  44. [DCBM89]
    A. Dearle, R. Connor, F. Brown, and R. Morrison. Napier88 — A Database Programming Language? In Proc. of the 2nd Workshop on Database Programming Languages, Salishan Lodge, Oregon, June 1989.Google Scholar
  45. [DD79]
    A. Demers and J. Donahue. Revised Report on Russel. TR 79–389, Computer Science Department, Cornell University, 1979.Google Scholar
  46. [Dea89]
    A. Dearle. Environments: a flexible binding mechanism to support system evolution. In Proc. HICSS-22, Hawaii, volume II, pages 46–55, January 1989.Google Scholar
  47. [Dij76]
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.Google Scholar
  48. [DKA86]
    P. Dadam, K. Kuespert, Andersen, et al. A DBMS Prototype to Support Extended NF2 Relations: An Integrated View on Flat Tables and Hierarchies. In ACM-SIGMOD International Conference on Management of Data, pages 356–367, Washington, DC, 1986.Google Scholar
  49. [DM82]
    L. Damas and R. Milner. Principal type-schemes for functional programs. In Proc. 9th ACM Symposium on Principles of Programming Languages, pages 207–212, 1982.Google Scholar
  50. [DV88]
    S. Danforth and P. Valduriez. The Data Model of FAD, a Database Programming Language, Rev. 1. Technical Report ACA-ST-059-88, MCC, June 1988.Google Scholar
  51. [FH88]
    A.J. Field and P.G. Harrison. Functional Programming. Addison-Wesley, Washingham, England, 1988.Google Scholar
  52. [GO87]
    D. Goldhirsch and J.A. Orenstein. Extensibility in the PROBE Database System. Database Engineering, Special Issue on Extensible Database Systems, 10(2), June 1987.Google Scholar
  53. [Gra81]
    J.N. Gray. The Transaction Concept: Virtues and Limitations. In Proc. 10th VLDB Conference, pages 144–154, Cannes, France, September 1981.Google Scholar
  54. [Har84]
    D.M. Harland. Polymorphic Programming Languages, Design and Implementation. Ellis Horwood Limited, a division of John Wiley & Sons, 1984.Google Scholar
  55. [HFLP89]
    L.M. Haas, J.C. Freytag, G.M. Lohmann, and H. Pirahesh. Extensible Query Processing in Starburst. In ACM-SIGMOD International Conference on Management of Data, pages 377–388, Portland, Oregon, 1989.Google Scholar
  56. [HJ87]
    Schek H.-J. DASDB: A Kernel DBMS and Application Specific Layers. Database Engineering, Special Issue on Extensible Database Systems, 10(2), June 1987.Google Scholar
  57. [HK87]
    R. Hull and R. King. Semantic Database Modeling: Survey, Applications and Research Issues. ACM Computing Surveys, 19(3):351–260, September 1987.Google Scholar
  58. [HMT88]
    R. Harper, R. Milner, and M. Tofte. The Definition of Standard ML (Version 2). LFCS Report Series ECS-LFCS-88-62, Department of Computer Science, University of Edinburgh, August 1988.Google Scholar
  59. [Hoa68]
    C.A.R. Hoare. Record Handling. In F. Genuys, editor, Programming Languages, pages 291–347. Academic Press, London, 1968.Google Scholar
  60. [HSM89]
    R. Hull, D. Stemple, and R. Morrison, editors. Proc. of the 2nd Workshop on Database Programming Languages. Morgan Kaufmann publishers, 1989.Google Scholar
  61. [Hud89]
    P. Hudak. Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys, 21(3):359–411, September 1989.Google Scholar
  62. [I83]
    Ichbiah et al. The Programming Language Ada: Reference Manual. Technical Report MIL-STD-1815A-1983, ANSI, 1983.Google Scholar
  63. [JLS85]
    M. Jarke, V. Linnemann, and J.W. Schmidt. Data Constructors: On the Integration of Rules and Relations. In 11th Intern. Conference on Very Large Data Bases, Stockholm, August 1985.Google Scholar
  64. [KL89]
    W. Kim and F.H. Lochowsky. Object-Oriented Concepts, Databases and Applications. ACM Press Books, 1989.Google Scholar
  65. [KV87]
    S. Khoshafian and P. Valduriez. Sharing, Persistence, and Object Orientation: A Database Perspective. In Proc. of the Workshop on Database Programming Languages, Roscoff, France, pages 181–195, September 1987.Google Scholar
  66. [L77]
    B. Liskov et al. Abstraction Mechanisms in CLU. Communications of the ACM, 20(8), August 1977.Google Scholar
  67. [Lan66]
    P.J. Landin. The next 700 programming languages. Communications of the ACM, 9(3):157–166, 1966.Google Scholar
  68. [LCJS87]
    B. Liskov, D. Curtis, P. Johnson, and R. Scheifler. Implementation of Argus. In Proc. of the 11th ACM Symp. on Operation System Principles, ACM SIGOPS, pages 111–122, November 1987.Google Scholar
  69. [LG86]
    B. Liskov and J. Guttag. Abstraction and Specification in Program Development. The MIT Electrical Engineering and Computer Science Series. MIT Press, 1986.Google Scholar
  70. [LRV88]
    C. Lécluse, P. Richard, and F. Velez. O2, an Object-Oriented Data Model. In ACM-SIGMOD International Conference on Management of Data, pages 424–433, June 1988.Google Scholar
  71. [MAD87]
    R. Morrison, M.P. Atkinson, and A. Dearle. Flexible Incremental Bindings in a Persistent Object Store. Persistent Programming Research Report 38, Univ. of St. Andrews, Dept. of Comp. Science, June 1987.Google Scholar
  72. [Mat87]
    D. Matthews. Static and Dynamic Type Checking. In Proc. of the Workshop on Database Programming Languages, Roscoff, France, pages 43–52, September 1987.Google Scholar
  73. [MB89]
    J. Mylopoulos and M.L. Brodie, editors. Readings in artificial intelligence and databases. Morgan Kaufmann publishers, 1989.Google Scholar
  74. [MBW80]
    P.A. Mylopoulos, A. Bernstein, and H.K.T. Wong. A Language Facility for Designing Database-Intensive Applications. ACM Transactions on Database Systems, 5(2):185–207, June 1980.Google Scholar
  75. [MD86]
    F. Manola and U. Dayal. PDM: An Object-oriented Data Model. In Proc. Int. Workshop on Object-oriented Database Systems, pages 18–25, September 1986.Google Scholar
  76. [Mey88]
    B. Meyer. Object-oriented Software Construction. International Series in Computer Science. Prentice Hall, 1988.Google Scholar
  77. [Mil78]
    R. Milner. A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences, 17:348–375, 1978.Google Scholar
  78. [Min88]
    J. Minker. Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann publishers, 1988.Google Scholar
  79. [MJAP86]
    D. Maier, Stein J., Otis A., and A. Purdy. Development of an Object-Oriented DBMS. In Proc. Int. Conf. on OOPSLA, Portland, Oregon, October 1986.Google Scholar
  80. [Mos89]
    J.E.B. Moss. Addressing Large Distributed Collections of Persistent Objects: The Mneme Project's Approach. In Proc. of the 2nd Workshop on Database Programming Languages, Portland, Oregon, pages 358–374, June 1989.Google Scholar
  81. [MRS89]
    F. Matthes, A. Rudloff, and J.W. Schmidt. Data-and Rule-Based Database Programming in DBPL. Esprit Project 892 WP/IMP 3.b, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, March 1989.Google Scholar
  82. [Naq89]
    S.A. Naqvi. Stratification as a Design Principle in Logical Query Languages. In Proc. of the 2nd Workshop on Database Programming Languages, Salishan Lodge, Oregon, June 1989.Google Scholar
  83. [Nik88]
    R.S. Nikhil. Functional Databases, Functional Languages. In M.P. Atkinson, P. Buneman, and R. Morrison, editors, Data Types and Persistence, Topics in Information Systems. Springer-Verlag, 1988.Google Scholar
  84. [NS87]
    P. Niebergall and J.W. Schmidt. Integrated DAIDA Environment, Part 2: DBPL-Use: A Tool for Language-Sensitive Programming. DAIDA Deliverable WP/IMP-2.c, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, 1987.Google Scholar
  85. [OB88]
    A. Ohori and P. Buneman. Type Inference in a Database Programming Language. In ACM Conference on Lisp and Functional Programming, pages 174–183, Snowbird, Utah, 1988.Google Scholar
  86. [OB89]
    A. Ohori and P. Buneman. Static Type Inference for Parametric Classes. In Proc. of ACM OOPSLA Conference, pages 445–456, New Orleans, L.A., 1989.Google Scholar
  87. [PA86]
    P. Pistor and F. Andersen. Designing a Generalized NF2 Model with a SQL-Type Language Interface. In Proc. 12 Int. Conf. on Very Large Data Bases, Kyoto, pages 278–288, August 1986.Google Scholar
  88. [RC87]
    J. Richardson and M. Carey. Programming Constructs for Database System Implementation in EXODUS. In ACM-SIGMOD International Conference on Management of Data, San Francisco, CA, May 1987.Google Scholar
  89. [Rey72]
    J.C. Reynolds. Definitional interpreters for higher order programming languages. In Proc. ACM 25th National Conference, volume 2, pages 717–740, Boston, 1972.Google Scholar
  90. [Rey74]
    J.C. Reynolds. Towards a theory of type structure. In Colloquium sur la programmation, volume 19 of Lecture Notes in Computer Science, pages 408–423. Springer-Verlag, 1974.Google Scholar
  91. [Ric89]
    J.E. Richardson. E: A Persistent Systems Implementation Language. Technical Report 868, Computer Sciences Department, University of Wisconsin-Madison, August 1989.Google Scholar
  92. [RT88a]
    T.W. Reps and T. Teitelbaum. The Synthesizer Generator: A System For Constructing Language-Based Editors. Texts and Monographs in Computer Science. Springer-Verlag, 1988.Google Scholar
  93. [RT88b]
    T.W. Reps and T. Teitelbaum. The Synthesizer Generator Reference Manual. Texts and Monographs in Computer Science. Springer-Verlag, third edition, 1988.Google Scholar
  94. [SAH87]
    M. Stonebraker, J. Anton, and M Hirohama. Extendability in POSTGRES. Database Engineering, Special Issue on Extensible Database Systems, 10(2), June 1987.Google Scholar
  95. [SB83]
    J.W. Schmidt and M.L. Brodie, editors. Relational Database Systems. Springer-Verlag, 1983.Google Scholar
  96. [SBK88]
    J.W. Schmidt, M. Bittner, H. Klein, H. Eckhardt, and F. Matthes. DBPL System: The Prototype and its Architecture. DBPL Memo 111-88, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, November 1988.Google Scholar
  97. [SCB86]
    C. Schaffert, T. Cooper, B. Bullis, M. Kilian, and C. Wilpolt. An Introduction to Trellis/Owl. In Proc. of 1st Int. Conf. on OOPSLA, pages 9–16, Portland, Oregon, October 1986.Google Scholar
  98. [Sch77]
    J.W. Schmidt. Some High Level Language Constructs for Data of Type Relation. ACM Transactions on Database Systems, 2(3), September 1977.Google Scholar
  99. [Seb89]
    R.W. Sebesta. Concepts of Programming Languages. Benjamin/Cummings Series in Computer Science. Benjamin/Cummings Publishing Company, Inc., 1989.Google Scholar
  100. [SEM88]
    J.W. Schmidt, H. Eckhardt, and F. Matthes. DBPL Report. DBPL-Memo 111-88, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, 1988.Google Scholar
  101. [SM90]
    J.W. Schmidt and F Matthes. DBPL Language and System Manual. Esprit Project 892 MAP 2.3, Fachbereich Informatik, Universität Hamburg, West Germany, April 1990.Google Scholar
  102. [SS77]
    J.M. Smith and D.C.P. Smith. Database Abstractions: Aggregation and Generalization. ACM Transactions on Database Systems, 2(2):105–133, June 1977.Google Scholar
  103. [SSB86]
    D. Stemple, T. Sheard, and B. Bunker. Abstract Data Types in Databases: Specification, Manipulation and Access. In Proc. of the IEEE 2nd International Conference on Data Engineering, pages 590–597, Los Angeles, California, February 1986.Google Scholar
  104. [SSS90]
    L. Stemple, D. Fegaras, T. Sheard, and A. Socorro. Exceeding the Limits of Polymorphism in Database Programming Languages. In Advances in Database Technology, EDBT '90, volume 416 of Lecture Notes in Computer Science, pages 269–285. Springer-Verlag, 1990.Google Scholar
  105. [Sta88]
    R. Stansifer. Type Inference with Subtypes. In Proc. 15th ACM Symposium on Principles of Programming Languages, pages 88–97, 1988.Google Scholar
  106. [Str67]
    C. Strachey, editor. Fundamental concepts in programming languages. Oxford University Press, Oxford, 1967.Google Scholar
  107. [SWBM89]
    J.W. Schmidt, I. Wetzel, A. Borgida, and J. Mylopoulos. Database Programming by Formal Refinement of Conceptual Designs. IEEE — Data Engineering, September 1989.Google Scholar
  108. [Tur85]
    D.A. Turner. Miranda: A non-strict functional language with polymorphic types. In J.P. Jouannaud, editor, Functional Programming Languages and Computer Architecture, volume 201 of Lecture Notes in Computer Science, pages 1–16, 1985.Google Scholar
  109. [Wan87]
    M. Wand. Complete Type Inference for Simple Objects. In Proceedings of the Second Annual Symposium on Logic in Computer Science, pages 37–44, Ithaca, New York, June 1987.Google Scholar
  110. [Wik87]
    A. Wikström. Functional Programming using Standard ML. Prentice Hall, 1987.Google Scholar
  111. [Wir83]
    N. Wirth. Programming in Modula-2. Springer-Verlag, 1983.Google Scholar
  112. [WL81]
    B. Weihl and B. Liskov. Specification and Implementation of Resilient Atomic Data Types. Proc. ACM SIGPLAN Symp. on Prog. Lang. Issues in Softw. Syst. ACM SIGPLAN Not., 16(5), May 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Joachim W. Schmidt
    • 1
  • Florian Matthes
    • 1
  1. 1.Department of CSUniversity of HamburgHamburg 13

Personalised recommendations