Functional reactive programming integrates time flow into functional programming. This provides an elegant way to express computation in domains such as interactive animations, robotics, computer vision, user interfaces, and simulation. The Yampa system is an implementation of FRP based on arrows.