On Jan 24, 2008 1:45 AM, Peter Hercek &lt;<a href="mailto:phercek@gmail.com">phercek@gmail.com</a>&gt; 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> &nbsp;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.&nbsp; 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.&nbsp; No inversion of control is necessary.&nbsp; And not just for GUIs, but for reactive systems in general.&nbsp; 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&#39;d cite easy &amp; 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>&nbsp; - Conal<br></div></div><br>