I am starting to get more involved with haskell programming and I&#39;d like to create a program where I can use the interactive loop in ghci to run a haskell functions that create graphics in a separate openGL window.  This would be a separate interactive window from the terminal i am running ghci in and have it&#39;s own event-loop/thread of execution.   For a very simple example, I would have a haskel function called &quot;w = window&quot; , which when executed would create an openGL window (inside a seprate window manager shell) and return an identifier to it.   A call to another fuinction might be &quot;obj = cube [..] w&quot; whch would draw an cube in the window. etc.   The openGL would have it&#39;s own event loop running to handle mouse/keyboard and refresh events which means that I would be able to manipuolate the camera with the mouse (pan, zoom, rotate etc.). This would be separate fromt he ghci input loop running in the original terminal window.<br>
<br>The graphics part of this is easy for me, I have this implemented in other langauges, but what i would like to do is create a functional programming environment for prototyping in 3D, so I would like to have a haskell session which I can &quot;attach&quot; to this 3D environment.<br>
<br>Any comments/feedback on the architecture/design of such a program would be appreciated.<br><br>thanks<br><br>