Department of Computer Science
Principles of Functional Languages
Fall Semester 2010
Dr. Maury Eggen
Examination Three Review
The topics for the final examination include, but are not necessarily limited to, the following:
- Functional languages vs non functional languages
- Scheme vs ML vs Haskell
- Advantages
- Disadvantages
- Type system comparisons
- Scheme
- functions, definitions
- let and letrec
- lists and list management
- curried functions
- reading and writing files
- applications (see below)
- ML
- functions, patterns and matches
- anonymous functions
- if then else
- let structures
- exceptions
- curried functions
- applications (see below)
- Haskell
- functions patterns and matches
- anonymous functions
- list comprehensions
- curried functions
- applications (see below)
- Applications
- Sorting
- minsort (maxsort)
- insertion sort
- mergesort
- quicksort
- searching
- sequential search
- binary search
- list management
- arrays
- records
- files
- interactive programming
- Standard Stuff
The general rule is: "If we covered it in class, expect it on the test." You will
be given functions to read and understand, functions to write. You will be asked
to assimilate and abstract your knowledge and apply it to solving problems in
a functional style. Some problems will be similar to things you have seen before,
but some may be unlike anything you have ever seen.
The exam will be on paper. It will be closed book, closed notes, closed computer.
You may, however, bring one cheat sheet to the examination, one 8 1/2 by 11 sheet
of paper with anything you think is important. The cheat sheet may be double sided.
It has been said that functional languages are limited in their scope and application.
We are out to prove them wrong. "Standard Stuff" in the discussion above refers to
the applicability of functional languages in problem solving. Think of a problem that
you can solve with a procedural (imperative) language like C, or a problem that
admits a nice solution in an object oriented language like Java. Can we solve the same
types of problems in one of our functional languages?
The examination must be done in pencil. Please bring several pencils and erase
cleanly if you make a mistake.
Return to Dr. Eggen's Home Page