Grapefruit is a library for Functional Reactive Programming (FRP)
with a focus on user interfaces. FRP makes it possible to
implement reactive and interactive systems in a declarative
style. To learn more about FRP, have a look at
http://haskell.org/haskellwiki/Functional_Reactive_Programming.
This package contains general user interface support. To make use
of it, it has to be complemented by a UI backend. It is possible
to have different UI backends implementing the same general
interface on top of different UI toolkits. At the moment, the
only backend is one based on GTK+. This is provided by the
grapefruit-ui-gtk package.