Вопросы по теме '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 просмотров
schedule
21.12.2022
GroupBy потока по agreggateId (Haskell/параллельная потоковая передача)
Контекст : я реализую приложение в CQRS и пытаюсь оптимизировать обработку команд (в основном 1 поток по совокупному идентификатору)...
Проблема : я хотел бы иметь первый поток, который получает все команды и отправляет их по их совокупному...
145 просмотров
schedule
28.02.2023
Как использовать подписчика ZMQ в Haskell с каналами
Я могу заставить подписчика ZMQ работать в Haskell, но был бы признателен за руководство о том, как использовать эти данные с Pipes. Моя попытка написать Producer терпит неудачу при «сборке стека» со следующей ошибкой:
Не удалось сопоставить тип...
175 просмотров
schedule
03.04.2023