Exercises
In the following exercises, you will need to implement different Observable objects. The exercises show different use cases for Observable objects, and contrast the different ways of creating Observable objects. Also, some of the exercises introduce new reactive programming abstractions, such as reactive maps and reactive priority queues.
Implement a custom
Observable[Thread]object that emits an event when it detects that a thread was started. The implementation is allowed to miss some of the events.Implement an
Observableobject that emits an event every 5 seconds and every 12 seconds, but not if the elapsed time is a multiple of 30 seconds. Use functional combinators onObservableobjects.Use the
randomQuotemethod from this section in order to create anObservableobject with the moving average of the quote lengths. Each time a new quote arrives, a new average value should be emitted.Implement the reactive signal abstraction, represented with the
Signal[T]type. The typeÂSignal...