On Jan 24, 2008 1:45 AM, Peter Hercek <<a href="mailto:phercek@gmail.com">phercek@gmail.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
[...]<br>On the other side there are downsides like what to do instead of<br> reactive GUIs? GUI is a big part for a lot of applications. [...]</blockquote><div><br>GUIs can be expressed in a *much* more direct and modular way in functional programming than imperative programming. See
<a href="http://haskell.org/haskellwiki/TV">http://haskell.org/haskellwiki/TV</a> and <a href="http://haskell.org/haskellwiki/Phooey">http://haskell.org/haskellwiki/Phooey</a> for examples. No inversion of control is necessary. And not just for GUIs, but for reactive systems in general. See
<a href="http://haskell.org/haskellwiki/Reactive">http://haskell.org/haskellwiki/Reactive</a> and <a href="http://haskell.org/yampa/">http://haskell.org/yampa/</a> .<br><br>I'd cite easy & modular GUIs as a strong advantage of functional programming.
<br><br>Just to be clear, I mean really *functional* programming, not imperative programming in Haskell (IO).<br><br> - Conal<br></div></div><br>