control-monad-loop-0.1: test/lift-continue.hs
{-# LANGUAGE ScopedTypeVariables #-}
import Control.Monad
import Control.Monad.Base
import Control.Monad.Trans.Class
import Control.Monad.Trans.Loop
main :: IO ()
main = do
foreach [1..10] $ \(i :: Int) -> do
foreach [1..10] $ \(j :: Int) -> do
when (j > i) $
lift continue
when (i == 2 && j == 2) $
exit
when (i == 9 && j == 9) $
lift exit
liftBase $ print (i, j)
liftBase $ putStrLn "Inner loop finished"
putStrLn "Outer loop finished"