连接管道
使用 >->
连接 Producer
s,Consumer
s 和 Pipe
s 以组成更大的 Pipe
功能。
printNaturals::MonadIO m => Effect m ()
printNaturals = naturalsUntil 10 >-> intToStr >-> fancyPrint
Producer
,Consumer
,Pipe
和 Effect
类型都是根据一般的 Proxy
类型定义的。因此, >->
可用于各种目的。左参数定义的类型必须与右参数使用的类型匹配:
(>->) :: Monad m => Producer b m r -> Consumer b m r -> Effect m r
(>->) :: Monad m => Producer b m r -> Pipe b c m r -> Producer c m r
(>->) :: Monad m => Pipe a b m r -> Consumer b m r -> Consumer a m r
(>->) :: Monad m => Pipe a b m r -> Pipe b c m r -> Pipe a c m r