Projects


There are currently 10 project folders.

BAYESIAN-SPAM

A simple bayesian spam filter, based on Paul Graham's essay "A plan for spam"

Pedagogically, the point of this project was to use the State monad. For a tutorial on the state monad, check this out!

Files:

GRAPHS

We will attempt to implement some graph algorithms in Haskell (since they're usually kind of state-y or array-y. Still just an idea though.

Files:

HASKLISP

We will attempt to implement lisp in Haskell. This is still in the "idea" stage though.

Files:

JAVALISP

An implementation of lisp-like lists in Java. The idea was to gain a better understanding of lisp's cons-cell mechanics, and then to experiment with use of first-class functions in Java a-la-lisp.
Eventually, implementation of lazy lists or something akin to them should show up here.

Files:

SIERPINSKI

We wanted to see how easy/hard it would be to do graphics in Haskell. As it turns out, it wasn't so bad!
We implemented a 3D sierpinski pyramid fractal. The program takes an (integer) number of levels to render; values between 3 and 6 are good choices.
The other aim of this project was to evaluate how easy it is to download, install, and use third party Haskell libraries from
Hackage. Overall, the process was pretty painless! The library we used here (for the graphics) was Haskell's OpenGL binding.

Files:

SNOBOL

A Forth interpreter in Haskell! Also, a home-rolled state monad (our very first).

Files:

UNCATEGORIZED

Uncategorized projects and group code files. Subject to change often.

Files: