Вопросы по теме 'conduit'
как добавить новый источник внутри канала haskell
У меня возникла проблема со следующим кодом, использующим network-conduit :
import Data.Conduit.List as CL
import Data.Conduit.Text as CT
import qualified Data.ByteString.Char8 as S8
import qualified Data.Text as TT
mySource :: ResourceT m...
336 просмотров
schedule
12.11.2023
Вложенные области ResourceT в канале Sink
Есть ли способ ограничить runResourceT сроком службы одного Sink ?
Я пытаюсь построить Sink , который обертывает потенциально бесконечное количество Sinks . Это отлично работает с потоками, но я пытаюсь сделать это без потоков. Кажется, это...
311 просмотров
schedule
01.06.2022
Как собрать вывод из каналов в файл в Haskell
У меня есть канал производителя, и я использовал канал печати. Я хотел бы записать вывод в файл. Если я использую Control.Data.sinkFile, например
test2file = runPipe $ CB.sinkFile "testOutput" <+< traverseTree fn3
Я получаю ошибку...
321 просмотров
schedule
19.07.2022
кабелепровод и розетки: разрешить несколько подключений
Вот некоторый код, реализующий небольшой принимающий сервер с использованием conduit , network-conduit и stm-conduit . Он получает данные в сокете, а затем передает их через STM-канал в основной поток.
import Control.Concurrent (forkIO)...
482 просмотров
schedule
25.05.2022
Пример Haskell bzlib-conduit/zlib-conduit
Предположим, мы создали файл a.txt.gz следующим образом:
$ echo "foobar" > a.txt
$ gzip a.txt
Я намерен использовать zlib-conduit для эмуляции zcat в Haskell.
Я ищу простой пример, который также можно применить к bzlib-conduit...
262 просмотров
schedule
03.07.2023
Идиоматический обход каталога io-streams
Я обсуждал код на Reddit , и мне стало любопытно о том, как это будет реализовано в io-streams. Рассмотрим следующий код, который проходит через структуру каталогов и выводит все имена файлов:
import Control.Exception...
309 просмотров
schedule
30.07.2022
Почему это вызывает утечку памяти в библиотеке Haskell Conduit?
У меня есть конвейер pipeline , обрабатывающий длинный файл. Я хочу печатать отчет о проделанной работе для пользователя каждые 1000 записей, поэтому написал следующее:
-- | Every n records, perform the IO action.
-- Used for progress reports to...
622 просмотров
schedule
20.04.2023
Выражение чтения простого файла Conduit без проверки типов
Я пытаюсь получить пример простого канала , но у меня не получается этап проверки типа. В этом примере я видя, как ResourceT используется в качестве "исполнителя" канала, если это имеет смысл. Я также знаю, что в течение некоторого времени...
306 просмотров
schedule
05.08.2023
Повторное использование sinFile с Haskell Conduit
Я хочу отправить список фотографий на приемник, чтобы сохранить их на диске. Каждая структура Photo содержит поле content типа lazy ByteString.
В основном я хочу сделать что-то вроде этого:
CL.sourceList photos $$ sinkPhotos
Я хотел бы...
197 просмотров
schedule
02.07.2022
SHA256 загруженный файл в Yesod — использование Conduit и Data.Digest.Pure.SHA
Я обрабатываю загрузку файла с помощью yesod и хотел бы сохранить загруженный файл в файл на моем сервере с именем SHA256 содержимого.
Я думаю, что функция уровня обработчика будет выглядеть так:
fileMove fInfo (basePath <> generateSha...
195 просмотров
schedule
17.04.2022
Как моделировать вложенные потоки с каналами?
Допустим, нам нужно просуммировать группы чисел, хранящиеся в файле, где группы разделены пустой строкой. Так
1
2
3
4
5
должен привести к 6 9 .
Кажется естественным смоделировать это с помощью вложенных каналов: внешний канал будет...
371 просмотров
schedule
06.01.2024
Haskell Conduit из процесса захвата как stdout, так и stderr
Существует ли канал Haskell, который может выполнять процесс и захватывать его потоки stderr и stdout (отдельно)? Возможность передать stdin в процесс была бы идеальной, поскольку канал тоже был бы идеальным, но не требованием (для этого я могу...
347 просмотров
schedule
15.03.2024
Почему Conduit и Pipe не могут иметь экземпляр Arrow?
На Reddit есть заархивированная ветка, в которой говорится, что, по сути, трубопровод / трубы не могут быть стрелками, потому что стрелки должны быть синхронными. Ветка связана здесь...
445 просмотров
schedule
12.10.2023
Как объединить отношения ввода-вывода «один-к-одному» и «один-ко-многим» в канале?
Я уже некоторое время борюсь с этой проблемой, хотя, честно говоря, я многое узнал о Conduit, так как раньше я в основном использовал готовые примеры за некоторыми исключениями.
Основная задача сформулирована так для трубопроводов A , B и C ;...
73 просмотров
schedule
15.07.2023
Конвейер Conduit пропускает некоторые элементы потока
Я попытался реализовать простой подсчет слов с помощью библиотеки Haskell Conduit:
wordcountCv2 :: IO ()
wordcountCv2 = do
hashMap <- runConduitRes $ sourceFile "input.txt"
.| decodeUtf8C
.| omapCE Data.Char.toLower...
98 просмотров
schedule
26.08.2022