Как создать новый канал, производящий ввод и вывод

Я нахожу такую ​​функцию 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 ()

0 ответов

Другие вопросы по тегам