Concurrency, competing user/signal interactions, responsiveness.


Timer deals with concurrency in the sense that a timer process that updates the elapsed time runs concurrently to the user’s interactions with the GUI application. This also means that the solution to competing user and signal interactions is tested. The fact that slider adjustments must be reflected immediately moreover tests the responsiveness of the solution. A good solution will make it clear that the signal is a timer tick and, as always, has not much scaffolding.

Timer is directly inspired by the timer example in the paper Crossing State Lines: Adapting Object-Oriented Frameworks to Functional Reactive Languages.

A dialogue box with a gauge, number of seconds, range conrol and reset button.


Elapsed Time: 0%



After opening a code link below, hit the '.' key to open GitHub's browser editor for improved reading experience.