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:[EMAIL PROTECTED]



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to