Talk:OpenGLTutorial2
Revision as of 21:58, 8 March 2011 by Emacstheviking (talk | contribs) (Added missing () in idle function.)
Excellent article and it got me going with OpenGL and Haskell but there is a small mistake that prevents the successful compilation at the point "3.1 Animation" in the revised Display.hs, function 'idle' ...
idle angle = do
a <- get angle
angle $=! a+0.1
postRedisplay Nothing
To get it to work on Ubuntu with ghc 6.12.3 I had to change it by enclosing the update in parentheses like so,
idle angle = do
a <- get angle
angle $=! (a+0.1)
postRedisplay Nothing
which also led me to read about IORef and also realise that I could have used this in place of the $=! which once again shows that when you have to work harder and solve little things like this for yourself it helps you learn even better. Here's the alternative way to update the IORef containing the rotation angle.
updateIORef angle (a+0.1)
Hope that helps somebody else! EmacsTheViking