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 on- Observableobjects.
- Use the - randomQuotemethod from this section in order to create an- Observableobject 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...
 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                