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