This program is not very efficient yet, I've been sucked into voxel engine optimizations and I have yet to find the time to play around with different kind of implementations. Also I wrote this code quite a while ago and I wouldn't consider it very idiomatic, but it is a working example of how to use OpenGL in Haskell.
Minecraft clone in haskell focussed on performance.
$ git clone https://github.com/noughtmare/hypercube.git
$ cd hypercube
$ stack build
or
$ cabal sandbox init
$ cabal install --dependencies-only
$ cabal build
$ stack exec hypercube
or
$ cabal run
W - move forward
A - move to the left
S - move backward
D - move to the right
SHIFT - move down
SPACE - move up
CTRL - speed up
R - toggle mouse cursor
ESC - quit game