This document discusses functional reactive programming (FRP). It defines FRP as a programming paradigm oriented around data flows and propagation of change. Reactive programming describes systems that are responsive, resilient, elastic and message-driven. The document introduces reactive extensions (Rx) as a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. It provides examples of how Rx can be used to map, filter, scan and zip observable sequences.