
19 Jul
2005
19 Jul
'05
5:48 a.m.
Hello robert, Monday, July 18, 2005, 10:14:43 PM, you wrote: rd> main = loop 0 0 0 -- initial values rd> where loop loop_num xpos ypos = rd> do e <- pollEvent rd> let xpos' = <calculate new xpos> rd> ypos' = <calculate new ypos> rd> someActionInvolvingPosition xpos' ypos' rd> when breakCondition (return ()) rd> loop (loop_num+1) xpos' ypos' the last two lines should be if breakCondition then return () else loop (loop_num+1) xpos' ypos' `when` can only conditionally execute some code, it can't be used to return from center of `do` body! -- Best regards, Bulat mailto:bulatz@HotPOP.com