haskell nbody simulation using opengl