Когда я возился с реализацией FRP, одна вещь, которую я нашел, сбивает с толку, что
делать с прошлым? По сути, я понимал, что я мог бы сделать это с поведением в любой момент:
beh.at(x) // where time x < now
Похоже, что это может быть проблематично с точки зрения производительности в таком случае, как это:
val beh = Stepper(0, event) // stepwise behaviour
Здесь мы видим, что для оценки Поведения в прошлом нам нужно сохранить все События, и мы закончим выполнением (в худшем случае) линейного сканирования каждый раз, когда мы производим выборку.
Хотим ли мы, чтобы эта способность была доступна, или Поведение следует разрешать оценивать только одновременно> = сейчас? Хотим ли мы даже представить функцию at
программисту?