This is the archived website of SI 413 from the Fall 2012 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

The Haskell programming language was designed by committee in 1990. Haskell has similar features to Scheme, only more extreme. It is a pure functional language, so there are never any side effects. It features lazy evaluation, which basically means that every function is a special form. And it has types too - of course you can also use types as arguments and create them on the fly, etc. It's a programming language for programming language lovers.

Useful Links

How I will run your code

Save your program in a file called proj.hs. Be sure to include a main function.

I will test your code in the same environment as the lab machines in MI 302, using the commands

  /usr/bin/ghc --make proj.hs -o proj

Phase 1 Requirements

For this language, you need to implement modifications A, B, C, D, and G. See the Phase 1 page for details on what this means.

Phase 2

See the Phase 2 Page for the list of suggested problems. Of the ones listed, I recommend the following as being most well-suited for Haskell:

  1. Matrix Calculator
  2. Game Scheduler
  3. Frequency count
  4. Guess the language
  5. Find the missing digits
  6. ??? (you choose!)