idris-0.9.10: test/test013/test013.idr
module Main
forLoop : List a -> (a -> IO ()) -> IO ()
forLoop [] f = return ()
forLoop (x :: xs) f = do f x
forLoop xs f
syntax for {x} "in" [xs] ":" [body] = forLoop xs (\x => body)
main : IO ()
main = do putStrLn "Counting:"
for x in [1..10]:
putStrLn $ "Number " ++ show x
putStrLn "Done!"