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

Труба с динамическим типом запроса/ответа?
Это кажется разумным желанием, но у меня проблемы с типом. Я хотел бы иметь Client , который может отправить список параметров Server , который выберет один и вернет выбранный элемент. Что-то вроде этого: module Toy where import Pipes asker...
210 просмотров
schedule 21.07.2023

Запуск потребителя внутри трубы
Мне нужно составить потребитель и трубу так, чтобы выход потребителя питал вход трубы. Я думаю, это можно решить с помощью комбинатора, подобного этому: Consumer i m r -> (r -> Producer o m r') -> Pipe i o m r' или это:...
167 просмотров
schedule 11.07.2022

Разбор потока JSON с помощью pipe-ason
Учитывая простой пример типа JSON: data Test = Test { name :: Text , age :: Int } deriving (Show, Generic) instance FromJSON Test Как я могу использовать pipe-ason для декодирования потока сообщений JSON, поступающих через сокет,...
306 просмотров
schedule 26.10.2022

Запуск мономорфного потребителя внутри трубы
Вопрос как запустить Consumer внутри Pipe уже задан, но ответ, который был предложен тогда, требует синонима полиморфного типа Consumer' : {-# LANGUAGE RankNTypes #-} import Pipes toPipe :: Monad m => Consumer' i m o -> Pipe i o m...
111 просмотров
schedule 12.04.2023

Почему Conduit и Pipe не могут иметь экземпляр Arrow?
На Reddit есть заархивированная ветка, в которой говорится, что, по сути, трубопровод / трубы не могут быть стрелками, потому что стрелки должны быть синхронными. Ветка связана здесь...
445 просмотров
schedule 12.10.2023

Учебное пособие по трубам: пример ListT
Я пытаюсь понять один из примеров, представленных на руководство по каналам относительно ListT : import Pipes import qualified Pipes.Prelude as P input :: Producer String IO () input = P.stdinLn >-> P.takeWhile (/= "quit") name :: ListT...
316 просмотров
schedule 11.06.2024

Оптимизация памяти в Haskell, конвейеры, аттопарсек и контейнеры
Я пытаюсь еще больше оптимизировать парсер и хранилище pipe-attoparsec, но у меня возникают проблемы с уменьшением использования памяти. Данный аккаунт-parser.hs {-# LANGUAGE RankNTypes #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE...
166 просмотров
schedule 11.05.2023

Обработка кодирования суммы в библиотеках потоковой передачи
Мотивация этого вопроса заключается в следующем сценарии: у нас есть поток значений, которые представлены кодировкой Sum . Предположим, что Either ByteString ByteString , где мы представляем потоки байтов в ошибочных и хороших состояниях...
108 просмотров

Как мне передать тайм-аут, который сбрасывается при каждом входящем?
Предполагается, что функция withTimeout передает ConsoleEvent сообщение CeTimeout каждые s :: Int секунды, если ничего не было получено. Вместо этого ему не удается отправить события CeTimeout в нужное время. Одно событие CeTimeout...
221 просмотров
schedule 10.11.2022