Вопросы по теме 'haskell-pipes'

Сериализация значений в массив JSON с конвейерами
Я хочу сериализовать входящие значения в JSON. Каждое значение имеет экземпляр toJSON . Конечным результатом должен быть список. Текущий код следующий: import Pipes import qualified Pipes.Prelude as P -- assume a source of elements main :: IO...
296 просмотров
schedule 04.09.2021

Обработка ошибок в трубах
Предыстория У меня есть несколько файлов данных, каждый из которых содержит список записей данных (по одному на строку). Подобно CSV, но достаточно отличается, чтобы я предпочел написать свой собственный анализатор, а не использовать библиотеку...
151 просмотров
schedule 12.09.2021

Haskell Pipes – получить возвращаемое значение последнего прокси в конвейере
Допустим, у меня есть два Proxy в Haskell Pipes. Они представляют внешние системные процессы. produce :: MonadIO m => Producer ByteString m ExitCode consume :: MonadIO m => Consumer ByteString m ExitCode Поэтому я подключаю их к...
229 просмотров
schedule 04.06.2022

Какая польза от остатков трубопровода?
Я пытаюсь понять разницу между каналом и трубами . В отличие от каналов , кондуит имеет понятие остатков. Чем полезны остатки? Я хотел бы увидеть несколько примеров, когда остатки необходимы. А поскольку в трубах нет концепции остатков,...
1133 просмотров
schedule 13.06.2022

Какова реальная польза от параметра типа исходящего канала канала?
Я пытаюсь понять различия между различными реализациями концепции каналов. Одно из различий между каналом и трубами заключается в том, как они соединяют трубы вместе. Канал имеет (>+>) :: Monad m => Pipe l a b r0 m r1 ->...
350 просмотров
schedule 25.08.2022

Как направить вывод действия ввода-вывода в процесс в haskell
Я хочу создать процесс и периодически записывать текст из моей программы haskell в стандартный ввод процесса (из действия ввода-вывода). Следующее правильно работает в GHCi, но не работает правильно при сборке и запуске. В GHCi все работает...
598 просмотров
schedule 02.10.2022

Как я могу написать канал, который отправляет нижестоящему список того, что он получает от восходящего потока?
Мне трудно написать pipe с этой подписью: toOneBigList :: (Monad m, Proxy p) => () -> Pipe p a [a] m r Он должен просто взять все a из восходящего потока и отправить их в виде списка вниз по течению. Все мои попытки выглядят...
488 просмотров
schedule 02.04.2023

Как использовать состояние с трубами?
У меня есть функция типа Map Int String -> Proxy () a () Void IO b . Прямо сейчас он await s делает все, что угодно, с полученным значением, а затем повторно вызывает себя. Я хотел бы изменить его так, чтобы он использовал State (Map Int...
726 просмотров
schedule 24.03.2023

Почему Haskell Pipes использует () для закрытия неиспользуемых входов и X (необитаемый тип) для закрытия неиспользуемых выходов?
В учебнике по каналам , там написано что: Синонимы конкретного типа используют () для закрытия неиспользуемых входов и X (необитаемый тип) для закрытия неиспользуемых выходов: Я хотел бы понять, почему () и X используются именно...
196 просмотров
schedule 06.05.2023

Потоковые байты в сетевой веб-сокет
У меня есть код, который использует дескриптор файла для имитации приемника потоковой передачи Bytestring из источника ( AWS S3 ). Если мы хотим использовать Network.Websocket в качестве приемника , достаточно ли заменить LBS.writeFile в...
462 просмотров
schedule 25.01.2023

Выбор труб без подбора по образцу
Это тесно связано с ответом Габриэля на другой вопрос . Я написал функцию, которая предоставляет что-то вроде функции ||| из ArrowChoice , но для Proxy (из библиотеки pipes ). Он соответствует шаблону и имеет пять взаимно рекурсивных функций....
162 просмотров
schedule 19.02.2023

Рекурсивный список всех файлов в каталоге с использованием Pipes
Я закончил читать руководство по каналам и Я хотел написать функцию для рекурсивного перечисления всех файлов в каталоге. Я пробовал со следующим кодом: enumFiles :: FilePath -> Producer' FilePath (PS.SafeT IO) () enumFiles path =...
579 просмотров

GroupBy потока по agreggateId (Haskell/параллельная потоковая передача)
Контекст : я реализую приложение в CQRS и пытаюсь оптимизировать обработку команд (в основном 1 поток по совокупному идентификатору)... Проблема : я хотел бы иметь первый поток, который получает все команды и отправляет их по их совокупному...
145 просмотров
schedule 28.02.2023

Как использовать подписчика ZMQ в Haskell с каналами
Я могу заставить подписчика ZMQ работать в Haskell, но был бы признателен за руководство о том, как использовать эти данные с Pipes. Моя попытка написать Producer терпит неудачу при «сборке стека» со следующей ошибкой: Не удалось сопоставить тип...
175 просмотров
schedule 03.04.2023