[Haskell-beginners] opengl and application state
sean at objitsu.com
Wed Jun 29 23:34:53 CEST 2011
I am getting back into OpenGL again with Haskell now and I have a
program that listens to all the callbacks and prints stuff out,
terminates on Ctrl+X and draws a grey sphere. Earth shattering.
If I was using C/C++ I'd be using a (shudder) global pointer to a record
containing state that the render callback would use to know what to do.
I smell state monads or something but I cannot see how to pass them into
I want to organise my code so that all input events cause a record to be
updated and then the render part just uses the current values to draw
the right things, with the obvious caveat of "what if a key event
happens half way through the render phase." MVars? Threads? What??? I'm
a real newb on this right now!
How do I,or what is a "best practice" for passing a continuously
changing record across calls given that the "displayCallback" doesnt
have any obvious place to plug one on? In Erlang or even Haskell, there
is the idion of making a tail call back to yourself with the new
modified record and so on but I cannot figure out where to actually pass
Thanks in advance.
More information about the Beginners