Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals (time-varying values). This talk overviews the key concepts of FRP, and discusses the advantages of considering signal functions, rather than signals, as the primary first-class abstraction, as well as the importance of distinguishing between signals over different time domains.