Nothing Special   »   [go: up one dir, main page]

Skip to main content

Some History of Functional Programming Languages

(Invited Talk)

  • Conference paper
Trends in Functional Programming (TFP 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7829))

Included in the following conference series:

Abstract

We study a series of milestones leading to the emergence of lazy, higher order, polymorphically typed, purely functional programming languages. An invited lecture given at TFP12, St Andrews University, 12 June 2012.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  • Augustsson, L.: A compiler for Lazy ML. In: Proceedings 1984 ACM Symposium on LISP and Functional Programming, pp. 218–227. ACM (1984)

    Google Scholar 

  • Augustsson, L., Johnsson, T.: The Chalmers Lazy-ML Compiler. The Computer Journal 32(2), 127–141 (1989)

    Article  Google Scholar 

  • Bird, R.S., Wadler, P.: Introduction to Functional Programming, 293 pages. Prentice Hall (1988)

    Google Scholar 

  • Burge, W.: Recursive Programming Techniques, 277 pages. Addison Wesley (1975)

    Google Scholar 

  • Burstall, R.M.: Proving properties of programs by structural induction. Computer Journal 12(1), 41–48 (1969)

    Article  MATH  Google Scholar 

  • Burstall, R.M., Darlington, J.: A Transformation System for Developing Recursive Programs. JACM 24(1), 44–67 (1977); Revised and extended version of paper originally presented at Conference on Reliable Software, Los Angeles (1975)

    Google Scholar 

  • Burstall, R.M., MacQueen, D., Sanella, D.T.: HOPE: An experimental applicative language. In: Proceedings 1980 LISP Conference, Stanford, California, pp. 136–143 (August 1980)

    Google Scholar 

  • Cesarini, F., Thompson, S.: Erlang Programming, 498 pages. O’Reilly (June 2009)

    Google Scholar 

  • Church, A., Rosser, J.B.: Some Properties of conversion. Transactions of the American Mathematical Society 39, 472–482 (1936)

    Article  MathSciNet  Google Scholar 

  • Church, A.: The calculi of lambda conversion. Princeton University Press (1941)

    Google Scholar 

  • Curry, H.B., Feys, R.: Combinatory Logic, vol. I. North-Holland, Amsterdam (1958)

    MATH  Google Scholar 

  • Evans, A.: PAL - a language designed for teaching programming linguistics. In: Proceedings ACM National Conference (1968)

    Google Scholar 

  • Friedman, D.P., Wise, D.S.: CONS should not evaluate its arguments. In: Proceedings 3rd Intl. Coll. on Automata Languages and Programming, pp. 256–284. Edinburgh University Press (1976)

    Google Scholar 

  • Gordon, M., Wadsworth, C.P., Milner, R.: Edinburgh LCF. LNCS, vol. 78. Springer (1979)

    Google Scholar 

  • Henderson, P., Morris, J.M.: A lazy evaluator. In: Proceedings 3rd POPL Conference, Atlanta, Georgia (1976)

    Google Scholar 

  • Hindley, J.R., Seldin, J.P.: Lambda-Calculus and Combinators: An Introduction, 2nd edn., 360 pages. Cambridge University Press (August 2008)

    Google Scholar 

  • Hudak, P., et al.: Report on the Programming Language Haskell. SIGPLAN Notices 27(5), 164 pages (1992)

    Google Scholar 

  • Hudak, P., Hughes, J., Peyton Jones, S., Wadler, P.: A History of Haskell: Being Lazy with Class. In: Proceedings 3rd ACM SIGPLAN History of Programming Languages Conference, San Diego, California, pp. 1–55 (June 2007)

    Google Scholar 

  • Hughes, J.: The Design and Implementation of Programming Languages, Oxford University D. Phil. Thesis (1983); (Published by Oxford University Computing Laboratory Programming Research Group, as Technical Monograph PRG 40 (September 1984)

    Google Scholar 

  • Johnsson, T.: Lambda Lifting: Transforming Programs to Recursive Equations. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  • Landin, P.J.: The Mechanical Evaluation of Expressions. Computer Journal 6(4), 308–320 (1964)

    Article  MATH  Google Scholar 

  • Landin, P.J.: A generalization of jumps and labels. Report, UNIVAC Systems Programming Research (August 1965); Reprinted in Higher Order and Symbolic Computation 11(2), 125–143 (1998)

    Google Scholar 

  • Landin, P.J.: The Next 700 Programming Languages. CACM 9(3), 157–165 (1966)

    Article  MATH  Google Scholar 

  • McCarthy, J.: Recursive Functions of Symbolic Expressions and their Computation by Machine, Part I. CACM 3(4), 184–195 (1960)

    Article  MATH  Google Scholar 

  • McCarthy, J., Abrahams, P.W., Edwards, D.J., Hart, T.P., Levin, M.I.: LISP 1.5 Programmer’s Manual, 106 pages. MIT Press (1962); 2nd edn. 15th printing (1985)

    Google Scholar 

  • McCarthy, J.: History of LISP. In: Proceedings ACM Conference on History of Programming Languages I, pp. 173–185 (June 1978), www-formal.stanford.edu/jmc/history/lisp/lisp.html

  • Milner, R.: A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences 17(3), 348–375 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  • Milner, R., Harper, R., MacQueen, D., Tofte, M.: The Definition of Standard ML. MIT Press (1990) (revised 1997)

    Google Scholar 

  • Naur, N.: Revised Report on the Algorithmic Language Algol 60. CACM 6(1), 1–17 (1963)

    Article  Google Scholar 

  • Olszewski, A., et al. (eds.): Church’s Thesis after 70 years, 551 pages. Ontos Verlag, Berlin (2006)

    Google Scholar 

  • Peyton Jones, S.L.: Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine. Journal of Functional Programming 2(2), 127–202 (1992)

    Article  MATH  Google Scholar 

  • Peyton Jones, S.L.: Haskell 98 language and libraries: the Revised Report. JFP 13(1) (January 2003)

    Google Scholar 

  • Plasmeijer, R., Van Eekelen, M.: Functional Programming and Parallel Graph Rewriting, 571 pages. Addison-Wesley (1993)

    Google Scholar 

  • Randell, B., Russell, L.J.: The Implementation of Algol 60. Academic Press (1964)

    Google Scholar 

  • Reynolds, J.C.: GEDANKEN a simple typeless language based on the principle of completeness and the reference concept. CACM 13(5), 308–319 (1970)

    Article  MATH  Google Scholar 

  • Scheevel, M.: NORMA: a graph reduction processor. In: Proceedings ACM Conference on LISP and Functional Programming, pp. 212–219 (August 1986)

    Google Scholar 

  • Sussman, G.J., Steele Jr., G.L.: Scheme: An interpreter for extended lambda calculus, MEMO 349, MIT AI LAB (1975)

    Google Scholar 

  • Turner, D.A.: SASL Language Manual, St. Andrews University, Department of Computational Science Technical Report CS/75/1 (January 1975); revised December 1976; revised at University of Kent, August 1979, November 1983

    Google Scholar 

  • Turner, D.A.: A New Implementation Technique for Applicative Languages. Software-Practice and Experience 9(1), 31–49 (1979a)

    Article  MATH  Google Scholar 

  • Turner, D.A.: Another Algorithm for Bracket Abstraction. Journal of Symbolic Logic 44(2), 267–270 (1979b)

    Article  MathSciNet  MATH  Google Scholar 

  • Turner, D.A.: The Semantic Elegance of Applicative Languages. In: Proceedings MIT/ACM conference on Functional Languages and Architectures, Portsmouth, New Hampshire, pp. 85–92 (October 1981)

    Google Scholar 

  • Turner, D.A.: Recursion Equations as a Programming Language. In: Darlington, Henderson, Turner (eds.) Functional Programming and its Applications, pp. 1–28. Cambridge University Press (January 1982)

    Google Scholar 

  • Turner, D.A.: An Overview of Miranda. SIGPLAN Notices 21(12), 158–166 (1986)

    Article  Google Scholar 

  • Wadler, P.: Replacing a failure by a list of successes. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 113–128. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  • Wadsworth, C.P.: The Semantics and Pragmatics of the Lambda Calculus. D.Phil. Thesis, Oxford University Programming Research Group (1971)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Turner, D.A. (2013). Some History of Functional Programming Languages. In: Loidl, HW., Peña, R. (eds) Trends in Functional Programming. TFP 2012. Lecture Notes in Computer Science, vol 7829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40447-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40447-4_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40446-7

  • Online ISBN: 978-3-642-40447-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics