From UBC Wiki

Connect 4

Authors: Minxing Wang, Stephen Hou

What is the problem?

We will use Haskell to implement the game Connect 4.

What is the something extra?

We will add a computer player to the game that will compete against real people.

What did we learn from doing this?

We were able to accomplish everything necessary for this game, however it was a lot more difficult for us since we are much more comfortable with imperative programming. Since variables can only be set once, we had to create new boards and game states with every turn. However, once we became comfortable within this paradigm, we found that the code is actually much more concise and quicker to write. Also pattern-matching and guards arevery useful and very compact to write.

Links to code etc