Elementary strong functional programming | SpringerLink
Skip to main content

Elementary strong functional programming

  • Invited Paper
  • Conference paper
  • First Online:
Funtional Programming Languages in Education (FPLE 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1022))

Abstract

Functional programming is a good idea, but we haven't got it quite right yet. What we have been doing up to now is weak (or partial) functional programming. What we should be doing is strong (or total) functional programming — in which all computations terminate. We propose an elementary discipline of strong functional programming. A key feature of the discipline is that we introduce a type distinction between data, which is known to be finite, and codata, which is (potentially) infinite.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. R. S. Bird, P. Wadler “Introduction to Functional Programming”, Prentice Hall, 1988.

    Google Scholar 

  2. K. Gödel “On a hitherto unutilized extension of the finitary standpoint”, Dialectica 12, pp 280–287 (1958).

    Google Scholar 

  3. R. Harper, D. MacQueen, R. Milner “Standard ML”, University of Edinburgh LFCS Report 86-2, 1986.

    Google Scholar 

  4. Paul Hudak et al. “Report on the Programming Language Haskell”, SIGPLAN Notices, vol 27, no 5 (May 1992).

    Google Scholar 

  5. A. M. Pitt “A Co-induction Principle for Recursively Defined Domains”, Theoretical Computer Science, vol 124, 1994.

    Google Scholar 

  6. Colin Runciman “What about the Natural Numbers”, Computer Languages vol 14, no 3, pp 181–191, 1989.

    Google Scholar 

  7. S. J. Thompson “A Logic for Miranda”, Formal Aspects of Computing, vol 1, no 4, pp 339–365, 1989.

    Google Scholar 

  8. D. A. Turner “Functional Programming and Proofs of Program Correctness” in Tools and Notions for Program Construction, pp 187–209, Cambridge University Press, 1982 (ed. Néel).

    Google Scholar 

  9. D. A. Turner “Miranda: A non-strict functional language with polymorphic types” Proceedings IFIP International Conference on Functional Programming Languages and Computer Architecture, Nancy, France, September 1985 (LNCS, vol 201).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pieter H. Hartel Rinus Plasmeijer

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Turner, D.A. (1995). Elementary strong functional programming. In: Hartel, P.H., Plasmeijer, R. (eds) Funtional Programming Languages in Education. FPLE 1995. Lecture Notes in Computer Science, vol 1022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60675-0_35

Download citation

  • DOI: https://doi.org/10.1007/3-540-60675-0_35

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-49252-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics