A variable type (BVar), monad (BTM), and arrow (BTA), which provide fast, atomic, composable, blocking inter-thread communication. Blocking transactions are strictly less expressive than software transactional memory, but may be more efficient under very high contention.
A tetris-like game implemented in Haskell and making use of Gtkh2s (works with GHC 6.8.3 and Gtk2hs 0.9.13)
A game where blocks of different shapes fall down the screen. If you either fill an entire line or get four of the same color in a row, those disappear. How long can you go before the blocks fill the screen?