В недавних реализациях классической FRP, например реактивной бананы, есть потоки событий и сигналы, которые являются ступенчатыми функциями (реактивные бананы называет их поведением, но тем не менее являются ступенчатыми функциями). Я заметил, что Elm использует только сигналы и не различает сигналы и потоки событий. Кроме того, реактивно-банановый режим позволяет перейти от потоков событий к сигналам (отредактирован: и это может быть способ действовать по поведению с использованием "реанимации", хотя это не считается хорошей практикой), что означает, что теоретически мы могли бы применять весь поток событий комбинаторы по сигналам/поведению, сначала преобразуя сигнал в поток событий, применяя и затем снова преобразуя. Итак, учитывая, что в целом проще использовать и изучать только одну абстракцию, в чем преимущество разделения сигналов и потоков событий? Что-то потеряно в использовании только сигналов и преобразование всех комбинаторов потока событий для работы с сигналами?
edit: Обсуждение было очень интересным. Главные выводы, которые я сам из себя сделал, это то, что поведенческие/события-источники необходимы как для взаимно-рекурсивных определений (обратной связи), так и для того, чтобы выход зависел от двух входов (поведения и источника события), но вызывал только действие, когда один из них изменяется (< @ > ).