Hello,

Function "print" has type "Show a => a -> IO ()". To use it with a value of type "IO Int", you need to use (>>=), which, specialized to IO, has type "IO a -> (a -> IO b) -> IO b". "print =<< foo", if foo :: IO Int, will have type IO () and is going to print the integer from foo. In your code, though, you can use mapM instead of map:

    sizes <- mapM get_size filenames
    mapM_ print sizes

Best regards,
Marcin Mrotek