Заботимся ли мы о «прошлом» FRP?

Когда я баловался с реализацией FRP, я обнаружил, что сбивает с толку то, что делать с прошлым? По сути, я понимал, что я смогу сделать это с помощью Behavior в любой момент:

beh.at(x) // where time x < now

Похоже, это может быть проблематично с точки зрения производительности в таком случае:

val beh = Stepper(0, event) // stepwise behaviour

Здесь мы видим, что для оценки Поведение в прошлом: нам нужно сохранить все события, и мы будем выполнять (в худшем случае) линейное сканирование каждый раз, когда будем производить выборку.

Хотим ли мы, чтобы эта способность была доступна, или поведение должно оцениваться только одновременно> = сейчас? Хотим ли мы вообще предоставить программисту функцию at ?

20
задан seadowg 2 March 2012 в 01:36
поделиться