Должен ли 'occs' быть доступен программисту? - PullRequest
2 голосов
/ 14 февраля 2012

При чтении и реализации FRP меня смущает семантика функции occs в Event (упоминается в статьях Конала Эллиотта).Это очень просто при работе со статическими (чистыми) событиями, но я не понимаю, как это работает с динамическими событиями (такими как нажатия кнопок мыши и т. Д.).Например, если occs возвращает все вхождения события, то, насколько я вижу, результат для occs для динамического события может быть одной из следующих вещей (поскольку еще не все вхождения известны):

  • Известные вхождения во время вызова
  • Массив / список, который автоматически обновляется вместе с самим Событием

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

Было бы лучше просто удалить функцию occs вне самой структуры FRP (т.е. сделать ее частной по отношению к Event и всему, что ее расширяет)?Пока в Event есть функции map, filter, merge и т. Д., Которые возвращают другие события, я чувствую, что они могут быть потеряны без проблем.Или я что-то недопонимаю?

1 Ответ

2 голосов
/ 16 февраля 2012

Насколько я понимаю, функция occs, упомянутая в Статья Конала , не является частью API.Скорее, это спецификация модели программирования.Конал использует его для описания семантики различных комбинаторов, но это не то, что вы можете или должны реализовать.

...