Я изучал FRP и нашел множество различных реализаций. Одна модель, которую я видел, является той, которую я буду называть представлением "Сигнал". Это важно сочетает события и поведение в одном объекте.
Во-первых, сигнал - это объект, значение которого является Поведением. Во-вторых, сигнал имеет поток событий, который можно увидеть и использовать как стандартную структуру данных (вы можете использовать "каждый", "карту" и "фильтр" и т.д. Для сигнала, чтобы определить, как реагируют события). Например, я могу это сделать (где "время" является сигнальным представлением времени):
time.each { t => print(t) } // every time there is a 'tick' the current time is printed
a = time * 5 //where 'a' would be a dynamic value always up to date with time
Правильно ли это представление FRP или есть ли какие-либо проблемы? Мне очень нравится, как это работает, а также как просто описать лично, но я не уверен, что это правильно.