Programming Languages (CS302 2006S)

Class 06: Why Functional Programming?

Back to Hoare's Examples. On to McCarthy's LISP.

Held: Friday, February 3, 2006

Summary: Today we explore some of the reasons that functional programming is a particularly powerful paradigm.

Related Pages:

Assignments

Notes:

Overview:

The Power of LISP

  1. Conditionals.
  2. Functions as first-class data.
  3. Recursion.
  4. Dynamic Typing.
  5. Garbage Collection.
  6. Unification of expression and statement.
  7. Symbols as first-classs data.
  8. A notation for code using trees of symbols and constants.
  9. The whole language there all the time.
  1. Computing with symbolic expressions.
  2. Representation of data by list structures in memory.
  3. External representation by multi-level lists and S-expressions.
  4. A small set of selectors.
  5. Composition of functions as a tool.
  6. Conditional expressions.
  7. Recursion.
  8. Lambda expression.
  9. LISP programs are LISP data.
  10. eval.
  11. Garbage collection.

Higher-Order Functions, Revisited

Questions on the first LISP readings?

Back to Hoare's Examples. On to McCarthy's LISP.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Wed May 10 09:02:45 2006.
The source to the document was last modified on Thu Jan 12 09:00:37 2006.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS302/2006S/Outlines/outline.06.html.

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Samuel A. Rebelsky, rebelsky@grinnell.edu