Particle system in Haskell with OpenGL / GLUT