Slim: functional reactive user interface programming
Summary
Functional programming has a number of important benefits over imperative programming. However, most GUI libraries for Haskell provide an imperative API. Functional Reactive Programming provides a way for programming reactive systems in a purely functional style. This report details the design and implementation of Slim, an embedded DSL for Haskell that applies FRP concepts for programming user interfaces. Its strong support for implementing complex and dynamic user interfaces is demonstrated by a comparison to existing FRP libraries.