
To: Beginners List I am trying to get a simple program working that will display something on the screen, get user input via joystick until a quit event, and then start a new trial, and repeat this until all the trials have been performed. The problem is that if I try to sequence the trials it hangs on the last trial (screen freezes and I have to kill it), however, if I just execute one after the other it exits fine. I don't understand what is different about doing the commented line versus explicitly invoking two trials (as demonstrated in the snippet below). Here is a snippet ( I am happy to provide more, but I don't know what is needed to diagnose my problem and I don't want to clutter the question): tn = 3 main :: IO () main = do let ps = initPlayers createWindow putStr "Window Initialized\n" let joy = GLFW.Joystick 1 putStr "Got Joystick\n" --sequence_ $ map (trialLoop gain tolerance joy) (trialList ps) trialLoop gain tolerance joy ((trialList ps)!!0) trialLoop gain tolerance joy ((trialList ps)!!1) putStr "Back from Sequence\n" where trialList oldps = [[(h' i) , (p' i)] | i <- [1 ..], i < tn] where x = 0.2 y = 0.2 h' idx = (oldps!!0) p' idx = Prey (Circle (((-1)^idx)*0.2,0.2) ((radius . shape) (oldps!!1))) (clr $ oldps!!1) As an aside, I was wondering if anyone has experience using joysticks with any of the Graphics.UI I have both a logitech and a saitek and I find that although both are found by the Graphics.UI.SDL I cannot get the buttons for the Saitek, but can for logitech. For neither does pollEvents seem to work right, although I can use update and getAxis for both joysticks. It was this unpredictable behaviour that drove me from SDL to GLFW. Any general advice on the UIs for joysticks would be appreciated as well. I am not actually writing a game, but a simple psychophysics experiment (the use of Haskell is just an exercise - normally I would do this [and have been done with it long ago] in python. So, my questions are really focused on trying to use haskell and its libraries for this purpose). Using Arch Linux if that makes any difference. Thanks in advance for any comments. --Britt