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
Observable
object 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 onObservable
objects.Use the
randomQuote
method from this section in order to create anObservable
object 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 typeSignal...