Functional Programming & Scheme
- Labs and Tutorials
I've put all the Scheme & Functional programming notes
from this course in one place here so that it's easier for you
to go back and review.
- What is "functional programming"? Look at the overview in
- Lab 1: Scheme Basics,
including expressions, arithmetic, function definitions,
let expressions, and recursion.
- Lab 2: Symbols and Lists.
- Lab 3: Representing data
- List internals and other efficiency issues: tail recursion!
- Lab 4: Functions as
- Define recursion functions with lambda:
- Lab 5: Recursion with lists vs. map & apply
- Lab 6: Breaking the
functional paradigm Part I: display and vectors.
- Lab 7: Breaking the
functional paradigm further ... loops!
A few nice features: sequences of expressions usin
begin, variable number of arguments to functions.
Closures & Object-oriented programming in Scheme
- Online Language References
Here are some online resources to scheme and programming in
- Scheme Interpreters
We'll use drscheme,
which is freely available
for Unix, PCs, Macs, etc. I find
intriguing. It's a scheme interpreter designed to be easy to
embed in a C/C++ program, and easy tie in as a macro language
for your C/C++ program. It's part of the gnu suite, and comes
standard with most Unix distros. Finally, how about
LispMe, a scheme
interpreter that runs under
PalmOS. I've got it running on my Palm T3 right now. Who
needs a calculator program when you've got a scheme
Christopher W Brown
Last modified: Wed Feb 8 09:53:18 EST 2006