There has been a lot of research into ways of creating guis in a functional language. There is libraries for push/pull frp, arrow based frp and probably other superior research too. Many people seem to agree this is the more native way yet just about everyone seems to be using imperative binding libraries such as gtk2hs and wxhaskell. Even places recommended as good tutorials teach binding to these plain imperative libraries. Why not guis based on FRP research?
Almost a year has passed since my previous answer and things have changed in the world of functional reactive programming (FRP).
In particular, I have created reactive-banana, a small library for FRP in Haskell. While still missing some features, it's already a great way to implement GUIs in a purely functional style, as demonstrated by a collection of examples. Here a screenshot:
As before, there is also Flapjax, a JavaScript library for FRP in the web browser.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With