FRP has been used for programming graphical user interfaces (GUIs), robotics, games, and music, aiming to simplify these problems by explicitly modeling time.
[2] The earliest formulation of FRP used continuous semantics, aiming to abstract over many operational details that are not important to the meaning of a program.
[6] These formulations have pushed for practical FRP, focusing on semantics that have a simple API that can be implemented efficiently in a setting such as robotics or in a web-browser.
[8] It has been pointed out that the ordinary FRP model, from inputs to outputs, is poorly suited to interactive programs.
[9] Lacking the ability to "run" programs within a mapping from inputs to outputs may mean one of the following solutions must be used: There are two types of FRP systems, push-based and pull-based.