Ticket #2 (new defect)
Opened 5 years ago
joinE not lazy enough
| Reported by: | camio | Owned by: | somebody |
|---|---|---|---|
| Priority: | blocker | Milestone: | |
| Version: | Keywords: | ||
| Cc: |
Description
This is an oldie. It is exemplified in the tutorial with the metronome example. It seems to be one step behind. Looking at the implementation of joinE:
-- Note, joinE should not be called with an infinite list of events that all -- occur at the same time. It can't decide which occurs first. joinE :: (Ord t) => EventG t (EventG t a) -> EventG t a joinE (Event (Future (Max MaxBound, _))) = mempty joinE (Event (Future (t0h, e `Stepper` ((Event (Future (Max MaxBound, _))))))) = adjustE t0h e joinE (Event (Future (t0h, e `Stepper` ee'@((Event (Future (t1h, _))))))) = happy (adjustE t0h e) t1h (adjustTopE t0h (joinE ee'))
we can see how it hast to look two events into the future.
Note: See
TracTickets for help on using
tickets.
