Abstract
Database systems today have evolved a great deal from the first storage structures, towards greater data independence, expressive power in manipulation languages, and expressive power in data models. But their facilities are still poor substitutes for analogues in programming languages: data abstraction, structured control constructs and type systems respectively. Most programming languages, on the other hand, deal inadequately (if at all) with the question of long-lived structured data. The problem is compounded when dealing with both a database system and a programming language that are alien to each other (as is common today).
Functional programming languages with functional databases offer a clean solution to this problem. Functional programming languages are expressive, do not have destructive updates, and allow much parallelism. Functional databases are never destructively updated— rather, one views them as infinite sequences of versions.
After outlining the features of such a system, we discuss its many advantages pertaining to types, optimization, expressive power, and interactive environments.
This research was done at the MIT Laboratory for Computer Science. Funding for this project was provided in part by the Advanced Research Projects Agency of the Department of Defense under the Office of Naval Research contract N00014-84-K-1025.
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
Atkinson, M.P., Bailey, P.J., Cockshott, W.P., Chisholm, K.J., and Morrison, R., Progress with Persistent Programming, Technical Report PPR-8–81, Computer Science Dept., University of Edinburgh.
Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P., and Morrison, R., Procedures as Persistent Data Objects, Persistent Programming Research Report 9 Dept. of Computing Science, University of Glasgow & Dept. of Computational Science, University of St. Andrews, 1984.
Cockshott, W.P., M.P. Atkinson, K.J Chisholm, P.J. Bailey, and R. Morrison, POMS: A persistent Object Management System, Software Practice and Experience, Vol. 14, No. 1, January 1984, pp. 49–71.
Albano, A., Cardelli, L., and Orsini, R., Galileo: a strongly typed interactive conceptual language ACM Trans. on Database Systems 10(2), March, 1985
Albano, A., F. Giannotti, R. Orsini, and D. Pedereschi, The type system of Galileo, In Proc. 1985 Persistence and Data Types Workshop, Appin, Scotland, August 1985.
Arvind, (no initial)., and R.A. Iannucci, Two fundamental issues in multiprocessing, In Proceedings of DFVLR—Conference 1987 on Parallel Processing in Science and Engineering, Bonn-Bad Godesberg, W. Germany, June 25–29 1987.
Arivnd, (no initial)., R.S. Nikhil, and K.K. Pingali, Id Nouveau Reference Manual; Part II: Operational Semantics, Technical Report, MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, USA, April 1987.
Arvind, (no initial)., R.S. Nikhil, and K.K. Pingali, I-Structures: Data Structures for Parallel Computing, Technical Report Computation Structures Group Memo 269, MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, February 1987. (Also to appear in Proceedings of the Graph Reduction Workshop, Santa Fe, NM. October 1986.).
Brodie, M.L., J. Mylopoulos, and J.W. Schmidt, (Eds.), On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases and Programming Languages, Springer Verlag, Berlin, 1984.
Cardelli, L., ML Under Unix, Technical Report, AT&T Bell Laboratories, 1983.
Challis, M.P., Version management — or how to implement transactions without a recovery log, Database: Infotech State of the Art Report, Vol. 9, No. 8, January 1982, pp. 435–458.
Date, C.J., An Introduction to Database Systems, Volume I (Fourth Edition), Addison Wesley, Reading, MA, USA, 1986.
Gallaire, H., J. Minker, and J-M. Nicolas, Logic and databases: a deductive approach, ACM Computing Surveys, Vol. 16, No. 2, June 1984, pp. 153–185.
International Symposium on the Semantics of Data Types., Sophia-Antipolis, France (Springer-Verlag LNCS 173), June 1984.
Nikhil, R.S., An Incremental, Strongly-Typed Database Query Language, PhD thesis, Moore School, University of Pennsylvania, Philadelphia, PA, August 1984. Available as Technical Report MS-CIS-85–02.
Nikhil, R.S., Id Nouveau Reference Manual, Part I: Syntax, Technical Report, Computation Structures Group, MIT Lab. for Computer Science, 545 Technology Square, Cambridge, MA 02139, April 1987.
Schmidt, J.W., Some high-level language constructs for data of type relation, ACM Transactions on Database Systems, Vol. 2, No. 3, September 1977, pp. 247–261.
Turner, D.A., The semantic elegance of applicative languages, In Proc. ACM Conference on Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, pages 85–92, ACM, October 1981.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nikhil, R.S. (1988). Functional Databases, Functional Languages. In: Atkinson, M.P., Buneman, P., Morrison, R. (eds) Data Types and Persistence. Topics in Information Systems. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-61556-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-61556-6_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-64870-0
Online ISBN: 978-3-642-61556-6
eBook Packages: Springer Book Archive