Bjorn Bringert said:
>
> Or why not the two characters shorter, but much less readable:
>
> pointsFreeCat' = getArgs >>= mapM_ ((>>= putStr) . readFile)
>
> or maybe:
>
> pointsFreeCat'' = getArgs >>= mapM_ (putStr >>. readFile)
>
> (>>.) :: (b -> IO c) -> (a -> IO b) -> a -> IO c
> (>>.) = (.) .
Isaac Jones wrote:
John Goerzen <[EMAIL PROTECTED]> writes:
Here's an alternative:
module Main where
(snip john's version)
And what list would be complete without a points-free version. It
doesn't operate on stdin, though like John's does:
pointsFreeCat :: IO ()
pointsFreeCat = getArgs >>= mapM re
At 5:27 PM -0800 2/18/05, Isaac Jones wrote:
John Goerzen <[EMAIL PROTECTED]> writes:
Here's an alternative:
module Main where
(snip john's version)
And what list would be complete without a points-free version. It
doesn't operate on stdin, though like John's does:
pointsFreeCat :: IO ()
pointsF
John Goerzen <[EMAIL PROTECTED]> writes:
> Here's an alternative:
>
> module Main where
(snip john's version)
And what list would be complete without a points-free version. It
doesn't operate on stdin, though like John's does:
pointsFreeCat :: IO ()
pointsFreeCat = getArgs >>= mapM readFile >>
Here's an alternative:
module Main where
import System.IO
import System(getArgs)
catFile :: FilePath -> IO ()
catFile fp = do contents <- readFile fp
putStr contents
main :: IO ()
main = do hSetBuffering stdin (BlockBuffering Nothing)
args <- getArgs
if not (