RosettaCodeData/Task/Stream-merge/Haskell/stream-merge-2.hs

16 lines
514 B
Haskell
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
-- stack runhaskell --package=pipes-safe --package=pipes-interleave
import Pipes (runEffect, (>->))
import Pipes.Interleave (interleave)
import Pipes.Prelude (stdoutLn)
import Pipes.Safe (runSafeT)
import Pipes.Safe.Prelude (readFile)
import Prelude hiding (readFile)
import System.Environment (getArgs)
main :: IO ()
main = do
sourceFileNames <- getArgs
let sources = map readFile sourceFileNames
runSafeT . runEffect $ interleave compare sources >-> stdoutLn