Abstract
Traditionally, the interface between a programming language and a database has either been through a set of relatively low-level subroutine calls, or it has required some form of embedding of one language in another. Recently, the necessity of integrating database and programming language techniques has received some long-overdue recognition. In response, a number of attempts have been made to construct programming languages with completely integrated database management systems. These languages, which we term database programming languages, are the subject of this review.
The design of these languages is still in its infancy, and the purpose of writing this review is to identify the areas in which further research is required. In particular, we focus on the problems of providing a uniform type system and mechanisms for data to persist. Of particular importance in solving these problems are issues of polymorphism, type inheritance, object identity, and the choice of structures to represent sets of similar values. Our conclusion is that there are areas of programming language research—modules, polymorphism, persistence, and inheritance—that must be developed and applied to achieve the goal of a useful and consistent database programming language. Other research areas of equal importance, such as implementation, transaction handling, and concurrency, are not examined here in any detail.
- AHO, A. V., AND ULLMAN, J. D. 1979. Universality of data retrieval languages, in Proceedings of the 6th A CM Symposium on Principles o{ Programruing Languages. ACM, New York, pp. 110-120.]] Google Scholar
- AIT-KACI, H., AND NASR, R. 1985. Login: A logic programming language with built in inheritance. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google Scholar
- ALBANO, A., CARDELLI, L., AND ORSINI, R. 1983. Galileo: A strongly typed, interactive conceptual language. Tech. Rep. Internal Technical Document Services, AT&T Bell Laboratories, Murray Hill, N.J.]]Google Scholar
- ALBANO, A., CARDELLI, L., AND ORSINI, R. 1985a. Galileo: A strongly typed interactive conceptual language. A CM Trans. Database Syst. 10, 2 (June), 230-260.]] Google Scholar
- ALBANO, A., GHELLI, G., AND ORSINi, R. 1985b. The implementation of Galileo's persistent values. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 197-208.]] Google Scholar
- ALBANO, A., OCCHIUTO, M. E., AND ORSINI, R. 1985c. Galileo Reference Manual, Vax/Unix version 1.0. Tech. Rep., Diparimento di informatica, Univ. di Pisa, Pisa, Italy.]]Google Scholar
- ALBANO, A., GIANNOTTI, F., ORSINI, R., AND PEDRESCHI, D. 1985. The type system of Gallleo. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 175-195.]] Google Scholar
- AMBLE, T., BRATBERGSENGEN, K., AND RISNES, O. 1979. ASTRAL: A structured and unified approach to database design and manipulation. In Proceedings o{ the Database Architecture Con{erence (Venice, italy, June).]]Google Scholar
- ASTRAHAN, M. M., BLASGEN, M. W., CHAMBERLIN, D. D., ESWARAN, K. P., GRAY, J. N., GRIFFITHS, P. P., KIND, W. F., LORIE, R. A., MCJONES, P. R., MEHL, J. W., PUTZOLU, G. R., TRAIGER, I. L., WADE, B. W., AND WATSON, V. 1976. System R: Relational approach to database management. ACM Trans. Database Syst. 1, 2 (June), 97-137.]] Google Scholar
- ATKINSON, M. P. 1978. Programming languages and databases. In The 4th International Conference on Very Large Data Bases, S. B. Yao, Ed. (Berlin, West Germany, Sept.). IEEE & ACM, New York, pp. 408-419.]]Google Scholar
- ATKINSON, M. P., AND MORI~SON, R. 1984. First class persistent procedures are enough. In Proceedings of the 4th Con{erence on the Foundations of Theoretical Computer Science and Software Technology (Bangalore, India). Springer-Verlag, Berlin, pp. 223-240.]] Google Scholar
- ATKINSON, M. P., AND MORmSON, R. 1985a. First class persistent procedures. A CM Trans. Program. Lang. Syst. 7, 4 (Oct.), 501-538.]]Google Scholar
- ATKINSON, M. P., AND MORRISON, R. 1985b. Types, bindings and parameters in a persistent environment. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16, M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 1-24.]] Google Scholar
- ATKINSON, M. P., AND MORRISON, R. 1986. Towards an integrated persistent graphical programming language. In Proceedings o{ the 18th Hawaii International Con{erence on Systems Sciences, vol. 2 (Jan.). Western Periodicals, North Hollywood, Calif., pp. 842-854.]]Google Scholar
- ATKINSON, M. P., CHISHOLM, K. g., AND COCKSHOTT, W. P. 1981. PS-algoh An Algol with a persistent heap. SIGPLAN Not. (ACM) 17, 7 (July), 24-31. Also available as Tech. Rep. CSR-94-81, Computer Science Dept., Edinburgh Univ., Edinburgh, Scotland.]] Google Scholar
- ATKINSON, M. P., CHISHOLM, K. J., COCKSHOTT, W. P., AND MARSHALL., R. M. 1983a. Algorithms for a persistent heap. So{tw. Pract. Exper. 13, 7 (Mar.).]]Google Scholar
- ATKINSON, M. P., BAILEY, P. J., CHISHOLM, K. J., COCKSHOTr, W. P., AND MORRISON, R. 1983b. An approach to persistent programming. Comput. J. 26, 4 (Nov.).]]Google Scholar
- ATKINSON, M. P., BAILEY, P., COCKSHOTT, W. P., CHISHOLM, K. g., AND MORRISON, R. 1984. Progress with Persistent Programming. Cambridge University Press, Cambridge, England.]]Google Scholar
- ATKINSON, M. P., MORRISON, R., AND PRATTEN, G. D. 1986. Designing a persistent information space architecture. In Proceedings, H. J. Kugler, Ed. IFIP, Dublin, Sept., pp. 115-119.]]Google Scholar
- BACKUS, J. 1978. Can programming be liberated from the yon Neumann style? A functional style and its algebra of programs. Commun. ACM 21, 8 (Aug.), 613-641.]] Google Scholar
- BALZER, R. M. 1986. Living in the next generation operating system. In In{ormation Processing 86. Elsevier North-Holland, New York.]]Google Scholar
- BANCILHON, F., AND RAMAKRISHNAN, R. 1986. An amateur's introduction to recursive query processing strategies. In Proceedings, ACM SIGMOD, (Washington, D.C., May). ACM, New York, pp. 166-176.]] Google Scholar
- BEVER, M., AND LOCKEMANN, P. C. 1985. Database hosting in strongly typed language. ACM Trans. Database Syst. 10, 1 (Mar.), 107-126.]] Google Scholar
- BORGIDA, A. 1983. Features of Languages for Conceptual Information System Development. Tech. Rep. Dept. of Computer Science, Hill Center, Rutgers Univ., New Brunswick, N.J.]]Google Scholar
- BORGIDA, A. 1985a. Accommodating exceptions to type. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 265-271.]]Google Scholar
- BORGIDA, A. 1985b. Flexible data exceptions. In Proceedings of the 11th International Conference on Very Large Data Bases (Singapore, Aug.). VLDB Endowment, Saratoga, Calif.]]Google Scholar
- BOROIDA, A. 1985c. Language features for flexible handling of exceptions in information systems. ACM Trans. Database Syst. 10, 4 (Dec.), 565-603.]] Google Scholar
- BRACHMAN, R. J. 1978. A New Paradigm for Representing Knowledge. Tech. Rep. BBN 3605. Bolt, Beranek and Newman, Cambridge, Mass.]]Google Scholar
- BRACHMAN, R. J. 1983. What IS-A is and isn't: An analysis of taxonomic links in semantic networks. Computer 16, 10 (Oct.), 30-35.]]Google Scholar
- BRAGGER, R. P., DUDLER, A., REBSAMEN, J., AND ZEHNDER, C. A. 1983. Gambit: An Interactive Database Design Tool {or Data Structures, Integrity Constraints and Transactions. Institute Fur Informatik, Eidgenossiche Technische Hochschule, Zurich, pp. 65-95.]]Google Scholar
- BROOIE, M., MYLOPOULOS, J., AND SCHMIDT, J. 1983. On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases, and Programming Languages. Springer-Verlag, Berlin.]]Google Scholar
- BRUCE, K., AND WEGNER, P. 1987. An algebraic model of subtype and inheritance. In Proceedings of the Roscoff Workshop on Database Programruing Languages, Alta'fr--CRAI (Sept.). Available as a technical report from Computer and information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. or from Alta'/r, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google Scholar
- BUNEMAN, O. P. 1985. Data Types for Data Base Programming. In Proceedings o{ the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 285-298.]]Google Scholar
- BUNEMAN, O. P., AND ATKINSON, M. P. 1986. Inheritance and persistence in database programming languages. In Proceedings of A CM SIGMOD (Washington, D.C.). ACM, New York, 15, 2, June. pp. 4-15.]] Google Scholar
- BUNEMAN, O. P., AND OHORI, A. 1986. A domain theoretic approach to higher-order relations. In ICDT 86: International Conference on Database Theory (Rome). Springer-Verlag, Berlin.]] Google Scholar
- BUNEMAN, O. P., AND OHORI, A. 1987. Using powerdomains to generalize relational databases. Tech. Rep. Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia.]]Google Scholar
- BUNEMAN, O. P., FRANKEL, R. E., AND NIKHIL, R. 1982. An implementation technique for database query languages. A CM Trans. Database Syst. 7, 2 (June), 164-186.]] Google Scholar
- BUNEMAN, O. P., HIRSCHBERG, J., AND ROOT, D. 1982. A CODASYL interface for Pascal and Ada. In Proceedings of the 2nd British National Conference on Databases (Bristol, England, July). British Computer Society, Bristol, England.]]Google Scholar
- BURGE, W. H. 1977. Recursive Programming Techniques. Addison-Wesley, Reading, Mass.]]Google Scholar
- CARDELLI, L. 1984a. A Semantics of Multiple Inheritance. Springer-Verlag, Berlin, pp. 51-67.]] Google Scholar
- CARDELLI, L. 1984b. Amber. Tech. Rep. AT&T Bell Labs, Murray Hill, N.J.]]Google Scholar
- CARDELLI, L., AND MACQUEEN, D. M. 1985. Persistence and type abstraction. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 221-230.]]Google Scholar
- CARDELLI, L., AND WEGNER, P. 1985. On understanding types, data abstraction, and polymorphism. ACM Comput. Surv. 17, 4 (Dec.), 471-522.]] Google Scholar
- CAREY, M., DEWITT, D., RICHARDSON, J., AND SHEIKTA, E. 1986. Object and file management in the EXODUS extensible database system. In Proceedings of the 12th International Conference on Very Large Databases (Kyoto, Japan, Aug.). VLDB Endowment, Saratoga, Calif.]] Google Scholar
- CATTELL, R. G. G. 1983. Design and implementation of a relationship-entity-datum data model. Tech. Rep. CSL-83-4, Xerox Paid Alto Research Center, Paid Alto, Calif.]]Google Scholar
- CHEN, P. P. S. 1976. The entity-relationship model: Toward a unified view of data. A CM Trans. Database Syst. 11, 1 (Mar.), 9-36.]] Google Scholar
- CHUNG, K. L. 1984. Implementation of Taxis, Process Management and Enforcement of Semantic Integrity Constraints. Master's thesis, Dept. of Computing Science, Univ. of Toronto, Toronto, Canada.]]Google Scholar
- CLOCKSIN, W. F., AND MELLISH, C. S. 1981. Programming in Prolog. Springer-Verlag, Berlin.]] Google Scholar
- CODD, E. F. 1970. A relational model for large shared databanks. Cornmun. ACM 13, 6 (June), 377-387.]] Google Scholar
- CODD, E. F. 1979. Extending the database relational model to capture more meaning. A CM Trans. Database Syst. 4, 4 (Dec.), 397-434.]] Google Scholar
- COLE, A. J., AND MORRISON, R. 1982. An Introduction to Programming with S-algol. Cambridge University Press, New York.]] Google Scholar
- COPELAND, G. P., AND KHOSHAFIAN, S. N. 1987. Identity and versions for complex objects. In Proceedings of the Appin Workshop on Persistent Object Systems, Research Report 44. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Glasgow, Scotland, Aug., pp. 407-428.]]Google Scholar
- COPELAND, G., AND MAIER, D. 1984. Making Smalltalk a database system. In Proceedings of SIGMOD'84, ACM, New York, pp. 316-325.]] Google Scholar
- DAHL, O., AND NYGAARD, K. 1966. Simula, an Algolbased simulation language. Comrnun. A CM 9, 9 (Sept.), 671-678.]] Google Scholar
- DARLINGTON, J., HENDERSON, P., AND TURNER, D. A. 1982. Functional Programming and Its Applications. Cambridge University Press, Cambridge, England.]] Google Scholar
- DATE, C. J. 1981a. Referential integrity. In The 7th International Con{erence on Very Large Data Bases (Cannes, France). IEEE, New York, pp. 2-12.]]Google Scholar
- DATE, C. J. 1981b. An Introduction to Database Systerns. 3d ed. Addison-Wesley, Reading, Mass.]] Google Scholar
- DATE, C. J. 1983a. An Introduction to Database Systerns, vol. 2. Addison-Wesley, Reading, Mass.]] Google Scholar
- DATE, C. J. 1983b. Database: A Primer. Addison- Wesley, Reading, Mass.]]Google Scholar
- DEMERS, A., AND DONAHUE, J. 1979. Revised report on Russell. Tech. Rep. TR79-389. Dept. of Computer Science, Cornell Univ., Ithaca, N.Y.]]Google Scholar
- DONAHUE, J., HAUSER, C., AND KENT, J. 1986. A client interface to an entity-relationship database system. Tech. Rep. CSL-86-4. Xerox Palo Alto Research Center, Palo Alto, Calif.]]Google Scholar
- ECKHARDT, H., EDELMAN, J., KOCH, J., MALL, M., AND SCHMiDT, J. W. 1985. Draft report on the database programming language DBPL. DBPL- Memo 091-85. Fachbereich Informatik, Univ. of Frankfurt, Frankfurt, West Germany.]]Google Scholar
- FAIRBAIRN, J. 1982. Ponder and its type system. Tech. Rep. 31, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]Google Scholar
- FAIRBAIRN, J. 1985. A new type-checker for a functional language. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 107- 123.]]Google Scholar
- GALLAIRE, H., AND MINKER, J. 1978. Logic and Databases. Plenum, New York.]] Google Scholar
- GALLAIRE, H., MiNKER, J., AND NICOLAS, J.-M. 1984. Logic and databases: A deductive approach. ACM Comput. Surv. 16, 2 (June), 153- 185.]] Google Scholar
- GOOUEN, A., AND MESEOUER, J. 1984. EQLOG: Equality, types and generic modules for logic programming. J. Logic Program. 1,179-209.]]Google Scholar
- GOLDBERG, A., AND ROBSON, D. 1983. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass.]] Google Scholar
- GOLDSTEIN, I. P., AND BOBROW, D. G. 1980. Extending object oriented programming in Smalltalk. In Proceedings of the 1980 Lisp Conference (Aug.). ACM, New York, pp. 75-81.]] Google Scholar
- GORDON, M. J., MILNER, A. J. R. G., AND WADS- WORTH, C. P. 1979. Edinburgh LCF. Lecture Notes in Computer Science, vol. 78, Springer- Verlag, New York.]]Google Scholar
- HALL, P. A. V. 1983. Adding database management to Ada. SIGPLAN Not. (ACM) 13, 3 (Apr.), 13- 17.]] Google Scholar
- HAMMER, M., AND MCLEOD, D. 1980. On database management system architecture. In In{otech State o{ the Art Report on Database, M. Atkinson, Ed. Infotech, Maidenhead, England.]]Google Scholar
- HAMMER, M., AND MCLEOD, D. 1981. Database description with SDM: A semantic database model. ACM Trans. Database Syst. 6, 3 (Sept.), 351-386.]] Google Scholar
- HENDERSON, P., AND MORRIS, J. H. 1976. A lazy evaluator. In 3rd ACM Symposium on Principles of Programming Languages. ACM, New York, pp. 95-103.]] Google Scholar
- HOROWITZ, E., AND KEMPER, A. 1983. AdaRel: A relational extension of Ada. Tech. Rep. TR-83- 218, Dept. of Computing Science, Univ. of Southern California, Los Angeles, Calif.]]Google Scholar
- ICHBIAH, J. H., BARNES, J. G. P., HELIARD, J. C., KRIEG-BRUCKNER, B., ROUBINE, O., AND WICH- MANN, B. A. 1979. Rationale of the design of the programming language Ada. Sigplan Not. (ACM) 14, 6.]] Google Scholar
- IVERSON, K. E. 1979. Operators. A CM Trans. Program. Lang. Syst. 1, 2 (Oct.), 161-176.]] Google Scholar
- JARKE, M., AND KOCH, J. 1982. A survey of query optimization in centralized database systems. Tech. Rep. CRIS 44, GBA 82-73 CR, Center for Research on Information Systems, New York Univ., New York, Nov.]]Google Scholar
- JARKE, M., AND KOCH, J. 1983. Range nesting:. A fast method to evaluate quantified queries. In Proceedings o{ the A CM SIGMOD International Conference on Management o{ Data (San Jose, CaliL). ACM, New York. Also Tech. Rep. CRIS 49, GBA 83-25 CR, Center for Research on Information Systems, New York Univ., New York, May.]] Google Scholar
- JARKE, M., AND KOCH, J. 1984. Query optimization in database systems. A CM Comput. Surv. 16, 2 (June), 111-152.]] Google Scholar
- JARKE, M., AND VASSILOU, Y. 1985. A framework for choosing a database query language. A CM Compu~ Survey. 17, 3 (Sept.), 313-340.]] Google Scholar
- KAHN, G., MACQUEEN, D., AND PLOTKIN, G. EDS. Semantics o{ Data Types: International Symposiun~ Springer-Verlag, Berlin, 1984.]]Google Scholar
- KAPLAN, H. 1983. High level interfaces for databases. Master's thesis, Dept. of Computing and information Science, Univ. of Pennsylvania, Philadelphia, Pa.]]Google Scholar
- KENT, W. 1978. Data and Reality. North-Holland, Amsterdam.]]Google Scholar
- KENT, W. 1979. Limitations of record-based information models. A CM Trans. Database Sy~t. 4, 1 (Mar.), 107-131.]] Google Scholar
- KERSTEN, M. L., AND WASSERMAN, A. I. 1981. The architecture of the plain data base handler. So{tw. Pract. Exper. 11, 175-186.]]Google Scholar
- KHOSHAFIAN, $. N., AND COPELAND, G. P. 1986. Object identity. SIGPLAN Not. (ACM), 21, 11 (Nov.), 406-416.]] Google Scholar
- KOCH, J., MALL, M., PUTFARKEN, P., REIMER, M., SCHMIDT, J. W., AND ZEHNDER, C. A. 1983. Modula/R report. Lilith version. Tech. Rep. Institute Fur Informatik, Eidgenossische Technische Hochschule, Zurich.]]Google Scholar
- KRABLIN, G. L. 1985. Building flexible multilevel transactions in a distributed persistent environment. In Proceedings of the Appin Workshop on Data Types and Persistence, Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp, 83-105.]]Google Scholar
- KULKARNI, K. G., AND ATICINSON, M. P. 1983. Use of PS-algol to experiment with data models. Softw. Pract. Exper. 17, 3 (Mar.), 171-185.]] Google Scholar
- KULKARNI, K. G., AND ATKINSON, M. P. 1985. EFDM: Extended Functional Data Model. Brit. Comput. J. 19, 1 (Jan.), 38-45.]]Google Scholar
- LAMPSON, B. W., HORNING, J. J., LONDON, R. L., MITCHELL, J. G., AND POPEK, G. L. 1977. Report on the programming language EUCLID. SIGPLAN Not. (ACM) 12, 2.]] Google Scholar
- LISKOV, B. 1981. CLU Reference Manual, G. Goos and J. Hartmanis, Eds. Lecture notes in Computer Science, vol 114. Springer-Verlag, Berlin.]] Google Scholar
- LISKOV, B.: HERLIHY, M., JOHNSON, P., LEAVENS, G., SCHEIFLER, R., AND WEIHL, W. 1983. Preliminary ARGUS reference manual. Tech. Rep. Memo 39. Programming Methodology Group, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Mass., Oct.]]Google Scholar
- MACQUEEN, D. M. 1985. Modules for standard ML. Polymorphism 2, 2. AT&T Bell Laboratories.]]Google Scholar
- MAIER, D., STEIN, J., OTIS, A., AND PURDY, A. 1986. Development of an object-oriented DBMS. SIGPLAN Not. (ACM) 21, 11 (Nov.), 172-182.]] Google Scholar
- MALL, M., SCHMIDT, J. W., AND REIMER, M. 1984. Data selection, sharing, and access control in a rela'tional scenario. In On Conceptual ModeUing, M. L. Brodie, J, L. Mylopoulos, and J. W. Schmidt, Eds. Springer-Verlag, Berlin.]]Google Scholar
- MATTHEWS, C. J. 1985a. Poly manual. Tech. Rep. 63, Computer Laboratory, Univ. of Cambridge, Cambridge, England.]]Google Scholar
- MATTHEWS, D. C. J. 1985b. Overview of the poly programming language. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 255-263.]]Google Scholar
- MCCARTHY, J. 1962. LiSP 1.5 Programmer's Manual. MIT Press, Cambridge, Mass.]] Google Scholar
- MERRETT, T. H. 1977. Relations as programming language elements. Inf. Process. Lett. 6, 1 (Feb.), 29-33.]]Google Scholar
- MERRETT, T. H. 1983. Extending the relational data model to capture less meaning. A CM SIGMOD Rec. 14, 3, 55-69.]] Google Scholar
- MERRETT, T. H. 1984. Relational Information Systerns. Reston Publishing, Reston, Va.]] Google Scholar
- MERRETT, T. H. 1985a. First Steps to Algebraic Processing of Text. Academic Press, Orlando, Fla.]]Google Scholar
- MERRETT, T. H. 1985b. Persistence and Aldat. in Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, Aug., pp. 35-48.]]Google Scholar
- MERRETT, T. H., AND D0CHTING, B. 1984. Relational storage and processing of two dimensional diagrams. Comput. Graplr 9, 3.]]Google Scholar
- MICHIE, D. 1968. "Memo" functions and machine learning. Nature, 218 (Apr.), 19-22.]]Google Scholar
- MILLER, D. 1986. A theory of modules for logic programming. In Proceedings o{ the 1986 IEEE Symposium on Logic Programming (Salt Lake City, Utah). IEEE, New York.]]Google Scholar
- MILNER, R. 1978. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348-375.]]Google Scholar
- MILNER, R. 1979. Flowgraphs and flow algebras. J. ACM 26, 4 (Oct.), 794-818.]] Google Scholar
- MILNER, R. 1983. A proposal for standard ML. Polymorphism 1, 3 (Dec.).]]Google Scholar
- MILNER, R. 1984. A proposal for standard ML. in Proceedings o{ the 1984 A CM Symposium on Lisp and Functional Programming (Aug.). ACM, New York, pp. 184-197.]] Google Scholar
- MORISON, R. 1979. S-Algol Language Reference Manual. Tech. Rep. CS/79/1, Dept. of Computational Science, Univ. of St. Andrews, St. Andrews, Scotland.]]Google Scholar
- MORRISON, R., DEARLE, A., BROWN, A. L., AND AT~ KINSON, M. P. 1985a. The persistent store as an enabling technology for integrated support environments. In Proceedings o{ the 8th lnterna~ tional Con{erence on So{tware Engineering (London, Aug.). iEEE, New York.]] Google Scholar
- MORRISON, R., BROWN, A. L., BAILEY, P. J., DAVIE, A. J. T., ANO DEARLE, A. 1985b. A persistent graphics facility for the ICL PERQ. Softw. Pract. Exper. 14, 3.]] Google Scholar
- MYCROFT, A. 1984. An inferential type system for Prolog. Tech. Rep., Computer Science Dept., Univ. of Edinburgh, Edinburgh, Scotland.]]Google Scholar
- MYLOPOULOS, J., AND WONO, H. K. T. 1980. Some features of the Taxis data model. In The 6th International Conference on Very Large Data Bases (Montreal, Canada, Oct. 1-3). ACM, New York.]]Google Scholar
- MYLOPOULO8, J., BERN8TEIN, P. A., AND WONG, H. K. T. 1980. A language facility for designing database intensive applications. A CM Trans. Database Syst. 5, 2 (June), 185-207.]] Google Scholar
- NIKHIL, R. 1982. RDB--A relational database management system, User Manual. Tech. Rep., Dept. of Computer Science and information Science, Univ. of Pennsylvania, Philadelphia.]]Google Scholar
- NIKHIL, R. 1984. An incremental, strongly typed applicative programming system for databases. Ph.D. dissertation, Dept. of Computing and Information Science, School of Engineering and Applied Science, Univ. of Pennsylvania, Philadelphia.]]Google Scholar
- NIXON, B. 1983. A Taxis compiler. Master's thesis, Dept. of Computing Science, Univ. of Toronto, Toronto, Ont., Canada.]]Google Scholar
- NIXON, B., ED. 1984. Taxis '84: Selected papers. Tech. Rep. TR CSRG-160, Computer Science Research Group, Univ. of Toronto, Toronto, Ont., Canada.]]Google Scholar
- O'BRIEN, P. 1983. An integrated interactive design environment for Taxis. In Proceedings o{ the 1983 So{t{air Con{erence (July). Softfair, Washington, D.C.]]Google Scholar
- O'BmEN, P., BULLiS, B., AND SCHAFFERT, C. 1986. Persistent and shared objects in trellis/owl, in Proceedings of the 1986 IEEE International Workshop on Object-Oriented Database Systems. IEEE, New York.]] Google Scholar
- OHORI, A. 1987. Orderings and types in databases. In Proceedings o{ the Roscoff Workshop on Database Programming Languages, Altai~--CRAI. Available as a technical report from Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. 19104 or from Altair, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google Scholar
- OLLE, T. W. 1978. The CODASYL Approach to Data Base Management. Wiley-Interscience, New York.]] Google Scholar
- ONTOLOOIC, INC. 1986. Vbase Object Manager User Manual. Bilerica, Mass.]]Google Scholar
- OWOSO, G. O. 1984. Data description and manipulation in persistent programming languages. Ph.D. dissertation. Univ. of Edinburgh, Computer Science Dept., Edinburgh, Scotland.]]Google Scholar
- OWOSO, G. O. 1985. Flexible data handling in programming languages. In Proceedings o{ the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google Scholar
- PERSISTENT PROGRAMMING RE8EARCH GROUP 1985. The PS-Algol Reference Manual. 2d ed. Tech. Rep. PPR-12-85. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland.]]Google Scholar
- PIROTTE, A., AND LACROIX, M. 1980. User interfaces for database application programming. In Infotech State o{ the Art Con{erence on Databases. Infotech, London, England.]]Google Scholar
- RICHARD, P., AND VELEZ, F. 1987. An object-oriented formal data model. In Proceedings o{ the Roscof{ Workshop on Database Programming Languages, Altair--CRAI. Sept. Available as a technical report from Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia, Pa. 19104, or from Altair, BP 105 Rocquencourt, 76153 LeChesnay Cedex, France.]]Google Scholar
- ROSENTHAL, A., HEILER, S., DAYAL, U., AND MAN- OLA, F. 1986. Traversal recursion: A practical approach to supporting recursive applications. In Proceedings o{ the A CM SIGMOD International Con{erence on the Management o{ Data (Washington, D.C., May 28-30). ACM, New York, pp. 166-176.]] Google Scholar
- ROWE, L. 1985. Windows on relations. In Proceedings of the 11th International Con{erence on Very Large Data Bases (Singapore, Aug.). J. Bubenko, Ed., VLDB Endowment, Saratoga, Calif.]]Google Scholar
- ROWE, L., AND SHOENS, K. 1979. Data abstraction, views and updates in RIGEL. In Proceedings o{ A CM SIGMOD International Con{erence on Management o{ Data (Boston, Mass., May 30-June 1). ACM, New York, pp. 71-81.]] Google Scholar
- SAMET, P. A., ED. 1981. Query Languages: A Unified Approach. Monographs in Informatics. Heyden & Sons, London, England.]]Google Scholar
- SCHMIDT, J. W. 1977. Some high level language constructs for data of type relation. A CM Trans. Database Syst. 2, 3 (Sept.), 247-261.]] Google Scholar
- SCHMIDT, J. W., AND BRODm, M. 1983. Relational Database Systems. Springer-Verlag, New York.]] Google Scholar
- SCHMIDT, J. W., AND MALL, M. 1983. Abstraction mechanisms for database programming. SIG- PLAN Not. (ACM) 18, 6 (June).]]Google Scholar
- SHIPMAN, D. W. 1981. The functional data model and the data language DAPLEX. ACM Trans. Database $yst. 6, 1 (Mar.), 140-173.]] Google Scholar
- SHOPIRO, J. E. 1979. THESEUS--A Programming language for relational databases. A CM Trans. Database $yst. 4, 4 (Dec.), 493-517.]] Google Scholar
- SKARRA, A. H., AND ZDONIK, $. B. 1986. The management of changing types in an object-oriented database. SIGPLAN Not. (ACM) 21, 11 (Nov.), 483-495.]] Google Scholar
- SMITH, J. M., AND SMITH, D. C. P. 1977. Database abstractions: Aggregation and generalisation. ACM Trans. Database Syst. 2, 2 (June), 105-133.]] Google Scholar
- SMITH, J. M., FOX, S., AND LANDERS, T. 1983. ADAPLEX: Rationale and Reference Manual 2d ed. Computer Corporation Of America, Cambridge, Mass.]]Google Scholar
- STONEBRAKER, M., AND ROWE, L. A. 1986. The design of postgres. In Proceedings o{ A CM SIG- MOD International Conference on the Management of Data (June). ACM, New York, pp. 340- 355.]] Google Scholar
- STONEBRAKER, M., WONG, E., KREPS, P., AND HELD, G. 1976. The design and implementation of INGRES. ACM Trans. Database Syst. 1, 3 (Sept.), 189-222.]] Google Scholar
- STROUSTRUP, B. 1986. The C++ Programming Language. Addison-Wesley, Reading, Mass.]] Google Scholar
- SWINEHART, D. C., ZELLWEGER, P. T., HAaMANN, R. B., AND BEACH, R. J. 1986. A structural view of the Cedar programming language. ACM Trans. Program. Lang. Syst. 8, 4 (Oct.), 419-490.]] Google Scholar
- TEITELMAN, W. 1975. INTERSLIP reference manual. Tech. Rep., Xerox Paid Alto Research Center, Paid Alto, Calif.]]Google Scholar
- TSICHRITZIS, D. C., AND LOCHOVSKY, F. H. 1977. Data Base Management Systems. Academic Press, New York.]]Google Scholar
- TURNER, D. A. 1981. The semantic elegance of applicative languages. In Proceedings o{ 1981 Conference on Functional Programming Languages & Computer Architecture (Portsmouth, N.H., Oct.). ACM, New York, pp. 18-22.]] Google Scholar
- TURNER, D. A. 1985. Miranda: A non-strict functional language with polymorphic types. In Functional Programming Languages and Computer Architecture, J.-P. Jouannaud, Ed. Springer- Verlag, Berlin, pp. 1-16.]] Google Scholar
- TURNER, D. 1986. An overview of Miranda. Sigplan Not. (ACM) 2, 12 (Dec.), 158-167.]] Google Scholar
- ULLMAN, J. D. 1982. Principles of Database Systems. 2d ed. Pitman, Marshfield, Mass.]] Google Scholar
- VAN WIJNGAARDEN, A., MAiLLOUX, B. J., PECK, J. E. L., COSTER, C. H. A., SINTZOFF, M., LiNDSEY, C. H., MEERTENS, L. G. L. T., AND FISKER, R. G. 1969. Report on the algorithmic language Algol 68. Numer. Math. 14, 79-218.]]Google Scholar
- WASSERMAN, A. I. 1978. Design goals for PLAIN. In Proceedings of the 11th Hawaii International Conference on Systems Sciences, Western Periodicals, No. Hollywood, Calif., pp. 25-30.]]Google Scholar
- WASSERMAN, A. I., AND BOOSTER, T. W. 1981. String handling and pattern matching in PLAIN. Tech. Rep. 50, Laboratory of Medical Information Science, Univ. of California, San Francisco, Calif.]]Google Scholar
- WASSERMAN, A. I., SHERTZ, D. D., KERSTEN, M. L., REIT, R. P., AND VAN DE DIPPE, M. D. 1981. Revised report on the programming language PLAIN. SIGPLAN Not. (ACM).]]Google Scholar
- WEIHL, W. E., AND LISKOV, B. 1985a. Implementation of resilient, atomic data types. ACM Trans. Program. Lang. Syst. 7, 2 (Apr.), 244-269.]] Google Scholar
- WIHEL, W. E. 1985b. Linguistic support for atomic data types. In Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 145-173.]]Google Scholar
- WIRTH, N. 1971. The programming language PAS- CAL. Acta Inf. 1.]]Google Scholar
- WIRTH, N. 1983. Programming in Modula-2. 2d ed. Springer-Verlag, Berlin.]] Google Scholar
- ZDONXK, S. B., AND WEGNER, P. 1985. A database approach to languages, libraries and environments. In Proceedings of the Appin Workshop on Data Types and Persistence. Research Report 16. M. P. Atkinson, O. P. Buneman, and R. Morrison, Eds. Persistent Programming Research Group, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, pp. 145-173.]]Google Scholar
Recommendations
Inheritance and persistence in database programming languages
In order to represent inheritance, several recent designs for database programming languages have made use of class construct, which can be thought of as a restricted data type with an associated set of instances. Moreover, these classes are persistent ...
Inheritance and persistence in database programming languages
SIGMOD '86: Proceedings of the 1986 ACM SIGMOD international conference on Management of dataIn order to represent inheritance, several recent designs for database programming languages have made use of class construct, which can be thought of as a restricted data type with an associated set of instances. Moreover, these classes are persistent ...
Comments