I just skimmed over Wolfgang's PDF and things look quite reasonable.
Just to make sure I have understood everything correctly: To make
HOpenGL work in the presence of a threaded RTS, the only places which
need a change are the stub factories for GLUT callbacks, where a "bound"
attribute is required now.
What about the foreign import of glutMainLoop (the main native dispatcher
for GLUT, which calls the Haskell callbacks mentioned above when an event
occurs and blocks the rest of the time)? It is currently "safe", is this
OK? Or should it be "threadsafe"? I must admit that I can't remember the
exact semantic distinction between those two attributes anymore... :-}
Cheers,
S.