Как буферизовать события в реактивном банане

Я новичок в FRP, но хочу попробовать применить принципы FRP на практике. Во многих ресурсах в Интернете, связанных с FPR на Haskell, авторы ссылаются на реактивный банан. Поэтому я подумал взглянуть и на это, но это вовсе не обязательно, если есть лучший вариант решения проблемы.

Проблема в следующем:

Я хотел бы создать приложение на Haskell, которое принимает события ввода пользователей, должно группировать их по идентификатору пользователя и ждать некоторое время для каждого из них, прежде чем запускать запрос к веб-службе.

Таким образом, ввод, сгенерированный одним пользователем, будет выглядеть примерно так:

h
ha
has
...
haskel
haskell

и после некоторой задержки, скажем, 300 мс без входных событий от пользователя, он должен запустить запрос с последним значением, то есть haskell в этом примере.

Эта проблема может быть относительно легко решена в C# с расширениями Rx с использованием Buffer, как описано здесь.

Есть ли что-то подобное для Haskell?


person klappvisor    schedule 20.05.2016    source источник
comment
Это, конечно, возможно, но вам придется написать это самостоятельно   -  person Benjamin Hodgson♦    schedule 20.05.2016
comment
Я видел несколько советов взглянуть на Wave.hs если нет другого выхода, я думаю, это путь...   -  person klappvisor    schedule 20.05.2016
comment
Это может помочь: stackoverflow.com/questions/10888826/   -  person miguel.negrao    schedule 25.05.2016
comment
Спасибо, я уже нашел. Это выглядит довольно близко к тому, что я хочу, но выглядит довольно большим   -  person klappvisor    schedule 25.05.2016