FRP - Ereignisströme und Signale - Was geht verloren, wenn nur Signale verwendet werden?

In neueren Implementierungen von Classic FRP, zum Beispiel Reactive-Banana, gibt es Ereignisströme und -signale, die Sprungfunktionen sind (Reactive-Banana nennt sie Verhalten, aber sie sind trotzdem Sprungfunktionen). Mir ist aufgefallen, dass Elm nur Signale verwendet und nicht zwischen Signalen und Ereignisströmen unterscheidet. Reactive-Banana erlaubt es auch, von Ereignisströmen zu Signalen zu wechseln (editiert: und es ist irgendwie möglich, Verhaltensweisen mit Reactive zu bearbeiten, obwohl dies nicht als gute Praxis angesehen wird), was bedeutet, dass wir theoretisch den gesamten Ereignisstrom anwenden könnten Kombinatoren für Signale / Verhalten, indem das Signal zuerst in einen Ereignisstrom konvertiert, angewendet und dann erneut konvertiert wird. Was ist der Vorteil von getrennten Signalen und Ereignisströmen, da es im Allgemeinen einfacher ist, nur eine Abstraktion zu verwenden und zu lernen? Geht etwas verloren, wenn nur Signale verwendet und alle Ereignisstromkombinatoren so konvertiert werden, dass sie mit Signalen arbeiten?

edit: Die Diskussion war sehr interessant. Die wichtigsten Schlussfolgerungen, die ich aus der Diskussion gezogen habe, sind, dass Verhalten / Ereignisquellen sowohl für gegenseitig rekursive Definitionen (Feedback) als auch für eine Ausgabe von zwei Eingaben (Verhalten und Ereignisquelle) abhängig sind, aber nur eine Aktion auslösen, wenn eine vorhanden ist von ihnen ändert sich (<@>).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage