3
我有這樣的管道表達它的工作原理:分裂管道鏈
main1 = runResourceT
$ CB.sourceHandle stdin
$$ CB.lines
=$ Cl.concatMap matches
=$ Cl.mapMaybe readDouble
=$ Cl.map fst
=$ Cl.map bucket
=$ Cl.map (BS.pack . show)
=$ Cl.map (\x -> x <> BS.pack "\n")
=$ CB.sinkHandle stdout
我有麻煩它拆分成兩個部分,即是這樣的:
source = CB.sourceHandle stdin
$$ CB.lines
=$ Cl.concatMap matches
=$ Cl.mapMaybe readDouble
=$ Cl.map fst
=$ Cl.map bucket
sink = Cl.map (BS.pack . show)
=$ Cl.map (\x -> x <> BS.pack "\n")
=$ CB.sinkHandle stdout
讓我能使用:
runResourceT $ source =$ sink
或其他......我從類型檢查器得到的錯誤消息有點難以理解。