Temporal programming makes it possible to express explicitly how an interactive program behaves over time. Type membership is time-dependent, and constructs for describing continuously changing values, discrete events, and combinations thereof are provided. Temporal programming can be seen as a form of functional reactive programming (FRP), one that follows closely the originaly ideas behind FRP.
Pomelo is a library for temporal programming with a clean semantics and an efficient implementation. It features a funtional approach to I/O that integrates smoothly into the temporal setting.