При чтении и реализации FRP я смущен семантикой функции occs
события (упоминается в документах Конала Эллиота). Это очень просто при работе со статическими (чистыми) событиями, но я не понимаю, как это работает с динамическими событиями (например, нажатиями кнопок мыши и т. Д.). Например, если occs
возвращает все появлений события, то, насколько я могу видеть результат для occs
динамичных событий может быть одним из следующих вещей (так как не все случаи известны еще):Должно ли `occs` быть доступным для программиста?
- известные случаи в момент вызова
- Массив/список, который автоматически поддерживается в актуальном состоянии с самого события
конечно оба они, кажется, немного некрасиво - один нарушает смысловую чистоту и другой включает побочные эффекты.
Было бы лучше просто удалить функцию occs
вне самой структуры FRP (т. Е. Сделать ее закрытой для Event и всего, что ее расширяет)? Пока Event имеет карту, фильтрует, объединяет и т. Д. Функции, которые возвращают дальнейшие события. Я чувствую, что это может быть потеряно без проблем. Или я что-то не понимаю?
Пожалуйста, не уменьшайте и не объясняйте почему. Это действительно не помогает. – seadowg