タイトルが示すcollect
ように、Reactive-Banana に見られるものと同様に、同時に発行されたイベントをリストに収集するコンビネーターを探しています。言い換えれば:
collect :: EventStream a -> EventStream [a]
collect [(time1, e1), (time1, e2)] = [(time1, [e1,e2])]
まだ存在しない場合、どのように実装しますか? ソースを熟読すると、イベントの発生の「時間」を読み取る方法がわかりません。たとえば、Bacon.Event
クラスはそれ自体の発生時間を記録していないようですか? Javascript のネイティブ関数を使用して事後new Date().getTime()
イベントをマークし、任意の時間枠内で発生するイベントが実際には「同時」であると主張する必要があります。