Moreover, functional programming makes it easy to have much more state than imperative programming, namely state over *continuous* time.  The temporally discrete time imposed by the imperative model is pretty puny in comparison.  Continuous (or "resolution-independent") time has the same advantages as continuous space: resource-adaptive, scalable, transformable.
<br><br><div class="gmail_quote">On Nov 20, 2007 4:11 PM, Lennart Augustsson &lt;<a href="mailto:lennart@augustsson.net">lennart@augustsson.net</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I implemented Tetris in LML long before Haskell existed.<br>It was text based, but looked good with a custom font. :)<br><br>Haskell has no problem with state, it&#39;s just explicit.<br><font color="#888888"><br>&nbsp; -- Lennart
<br><br></font><div class="gmail_quote"><div class="Ih2E3d">
On Nov 19, 2007 9:25 PM, Andrew Coppin &lt;<a href="mailto:andrewcoppin@btinternet.com" target="_blank">andrewcoppin@btinternet.com</a>&gt; wrote:<br></div><div><div></div><div class="Wj3C7c"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

If you were going to implement Tetris in Haskell, how would you do it?<br><br>(For that matter, has anybody already *done* it? It would probably make<br>a nice example program...)<br><br>I&#39;m particularly interested to know
<br><br>1. How exactly would you do the graphical components? (Presumably<br>there&#39;s some deep trickery with Gtk2hs that can draw free-form stuff<br>like this.)<br><br>2. How do you implement a program that is fundamentally about state
<br>mutation in a programming language which abhors state mutation?<br><br>_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org
</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></blockquote></div></div></div><br>
<br>_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">
http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br><br></blockquote></div><br>