I followed a tutorial on OpenGL in Haskell