Skip to main content

Research Repository

Advanced Search

Bridging the GUI gap with reactive values and relations

Perez, Ivan; Nilsson, Henrik


Ivan Perez

Henrik Nilsson


There are at present two ways to write GUIs for functional code. One is to use standard GUI toolkits, with all the benefits they bring in terms of feature completeness, choice of platform, conformance to platform-specific look-and-feel, long-term viability, etc. However, such GUI APIs mandate an imperative programming style for the GUI and related parts of the application. Alternatively, we can use a functional GUI toolkit. The GUI can then be written in a functional style, but at the cost of foregoing many advantages of standard toolkits that often will be of critical importance. This paper introduces a light-weight framework structured around the notions of reactive values and reactive relations . It allows standard toolkits to be used from functional code written in a functional style. We thus bridge the gap between the two worlds, bringing the advantages of both to the developer. Our framework is available on Hackage and has been been validated through the development of non-trivial applications in a commercial context, and with different standard GUI toolkits.


Perez, I., & Nilsson, H. (2015). Bridging the GUI gap with reactive values and relations.

Conference Name 2015 ACM SIGPLAN Symposium on Haskell (Haskell '15)
End Date Sep 4, 2015
Acceptance Date Jun 27, 2015
Publication Date Sep 1, 2015
Deposit Date Apr 19, 2016
Publicly Available Date Apr 19, 2016
Peer Reviewed Peer Reviewed
Keywords GUI, pure functional programming, reactive values
Public URL
Publisher URL
Additional Information © ACM, 2015. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM SIGPLAN Notices, Volume 50, Issue 12, (December 2015)


Downloadable Citations