Functional Programming Reading List
Functional Programming (General)
  1. Functional Programming, Application and Implementation; Henderson, Peter
  2. Notes from CS 460, Functional Programming (Leha)
  3. List Comprehensions in Erlang; (handout from Leha)
  4. Functional Programming Links
  5. Supporting Parallelism with Functions (section from a PL book in S. Gordon's office—no ref.)
  6. Programming with Funs [Erlang]; (handout from Leha)
  7. Functional Programming Comes of Age; Pountain, Dick
  8. Concepts, Evolution, and Application of Functional Programming Languages; Hudak, Paul
  9. Guest Editor's Introduction to the Special Issue of [ACM] Computing Surveys; Wegner, Peter
  10. Programming Languages, Principles and Practices; Louden, Kenneth C. (ch. 10)
  11. Can Programming be Liberated From its Von Neuman Style? Backus, '78
  12. Introduction to Functional Programming; Bird and Wadler
  13. Recursive Programming Techniques; Burge
  14. Functional and Logic Programming; Degroot, D. and Lindstrom, G.
  15. Functional Programming; Field, A. and Harrison, P. G.
  16. Integrating Functional and Imperative Programming; Gifford, D. K.
  17. How to handle Large Data Structures; Holmstrom
  18. Report on ...Haskell; Hudak
  19. Why Functional Programming Matters; Hughes
  20. Recursive Functions of Symbolic Expressions, McCarthy, J.
  21. Comparing the Church and Turing Approaches; Trakhtenbrot
Lazy Evaluation
  1. Equations and Inequations on Finite and Infinite Trees; Alain Colmerauer
  2. Lazy Evaluation and Infinite Lists (handout from Leha)
  3. The Importance of Being Lazy
  4. When to be Eager and When to be Lazy
  5. Lazy Evaluation (section from a PL book in S. Gordon's office—no ref.)
  6. Lazy Prolog
  7. Evaluation Order and the Recursive Definition of Data Structures/Delayed Evaluation Streams; (section from a PL book in S. Gordon's office—no ref.)
  8. Evaluation Order; Programming Language Concepts & Paradigms; Watt, David A.
  9. Lazy versus Strict; Wadler, Philip
  10. Programming Languages, Principles and Practices; Louden, Kenneth C. (ch. 10)
  11. Path Analysis: Using Order of Evaluation...; Bloss
  12. Code Optimizations for Lazy Evaluation...; Bloss
  13. A Lazy Evaluator, Henderson, P.
  14. Lazy Memo Functions; Hughes
  15. Data Driven and Demand Driven Computer Architecture; Treleaven
ML
  1. GIML Glossary and Tutorials
  2. Programming Languages, a Web resource for ML, Scheme, Prolog, Haskell, and other related languages, their syntax, and coding examples
  3. Scott Gordon's "fun" examples (handout from CS 460)
  4. Programming Languages, Principles and Practices; Louden, Kenneth C. (ch. 10)
Miranda
  1. An Overview of Miranda; Turner, David
  2. Miranda (section from a PL book in S. Gordon's office—no ref.)
  3. Programming Languages, Principles and Practices; Louden, Kenneth C. (ch. 10)
  4. Miranda, A Non-Strict Functional Language; Turner, D.
Scheme
  1. Programming Languages, a Web resource for ML, Scheme, Prolog, Haskell, and other related languages, their syntax, and coding examples
  2. Programming Languages, Principles and Practices; Louden, Kenneth C. (ch. 10)
  3. The Lambda Calculus, its Syntax and Semantics; Barendregt, H. P., 1984
  4. Highlights of the History of Lambda Calculus; Rosser
  5. Programming Paradigms, Butcher, D. (unpublished)