Skip to main content

Improving Persistent Data Manipulation for Functional Languages

  • Conference paper
Book cover Functional Programming, Glasgow 1992

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 88 Accesses

Abstract

Although there is a great deal of academic interest in functional languages, there are very few large-scale functional applications. The poor interface to the file system seems to be a major factor preventing functional languages being used for large-scale programming tasks. The interfaces provided by some widely-used languages are described and some problems encountered with using these interfaces to access persistent data are discussed. Three means of improving the persistent data manipulation facilities of functional languages are considered: an improved interface to the file system, including a good binary file implementation; an interface to a database; and the provision of orthogonal persistence. Concrete examples are given using the functional programming language, Haskell.

This work is supported by the SERC GRASP and Bulk Data Types Projects, a Royal Society of Edinburgh Fellowship, and a Commonwealth Scholorship.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Atkinson M.P. Programming Languages and Databases, in Proceedings of the 4th International Conference on Very Large Databases, 1978.

    Google Scholar 

  2. Augustsson L. A compiler for lazy ML, in Proceedings of the ACM Symposium on Lisp and Functional Programming, Austin Texas, USA, August 1984.

    Google Scholar 

  3. Bloss A. Update analysis and the efficient implementation of functional aggregates, in Proceedings of the 1989 IFIP Conference on Functional Programming Languages and Computer Architecture, London, September, 1989.

    Google Scholar 

  4. Hudak P. Wadler P. Peyton Jones SL. (Eds) Report on the Programming Language Haskell, Version 1.2, ACM SIGPLAN Notices, 27(5), May 1992.

    Google Scholar 

  5. McNally D. Joosten S. Davie A. Persistent Functional Programming, in Proceedings of the 4th International Workshop on Persistent Object Systems, Martha’s Vineyard, Mass., USA, September, 1990.

    Google Scholar 

  6. Matthews D.C.J. A Persistent Storage System for Poly and ML. University of Cambridge Technical Report 102, January, 1987.

    Google Scholar 

  7. Perry N. Hope+C - a continuation extension for Hope+. Internal Report, Department of Computing, Imperial College London, October, 1987.

    Google Scholar 

  8. Peyton Jones S.L. Clack C. Salkild J. Hardie M. GRIP - a high-performance architecture for parallel graph reduction, in Proceedings of the IFIP conference on Functional Programming Languages and Computer Architecture, Portland. Kahn G. (Ed), Springer-Verlag LNCS 274, September,. 1987.

    Google Scholar 

  9. Achten P.M., van Groningen J.H.G. and Plasmeijer M.J. High-level specification of I/O in functional languages, in Functional Programming, Glasgow 1992, Launchbury J. Sansom P.M. (Eds), Springer-Verlag, Workshops in Computing Science, 1992.

    Google Scholar 

  10. Software A.G. NATURAL EXPERT Reference Manual, Version 1.1. 3, 1990.

    Google Scholar 

  11. Trinder P.W. A Functional Database. D.Phil. Thesis, Oxford University, December, 1989. Available as: Technical Monograph PRG-82, Programming Research Group, 8-11 Keble Road, Oxford OX1 3QD, England; Technical Report CSC 90/R10 Dept. of Computing Science, University of Glasgow, Scotland.

    Google Scholar 

  12. Turner D.A. Recursion Equations as a Programming Language in Functional Programming and its Application. Darlington J. Henderson P. Turner D.A. (Eds), Cambridge University Press, 1982.

    Google Scholar 

  13. Turner D.A. Miranda System Manual, Research Software Limited, 1987.

    Google Scholar 

  14. Wadler P. An Introduction to Orwell 4.07, Internal Document, Oxford University Programming Research Group, December, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 British Computer Society

About this paper

Cite this paper

Hammond, K., McNally, D., Sansom, P.M., Trinder, P. (1993). Improving Persistent Data Manipulation for Functional Languages. In: Launchbury, J., Sansom, P. (eds) Functional Programming, Glasgow 1992. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3215-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3215-8_7

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19820-8

  • Online ISBN: 978-1-4471-3215-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics