Как создать новый канал, производящий ввод и вывод
Я нахожу такую функцию Conduit, чтобы производить как ввод, так и вывод
pairConduit :: (Monad m) => ConduitM i o m r -> ConduitM i (i, o) m r
Я получил неправильное решение:
pairConduit :: (Monad m) => ConduitM i o m () -> ConduitM i (i, o) m ()
pairConduit c = do
mb <- await
case mb of
(Just i) -> do
mapOutput (\a -> (i,a)) c
Nothing -> return ()