sebastian.sylvan at gmail.com
Mon Nov 19 17:23:26 EST 2007
On Nov 19, 2007 9:25 PM, Andrew Coppin <andrewcoppin at btinternet.com> wrote:
> If you were going to implement Tetris in Haskell, how would you do it?
> (For that matter, has anybody already *done* it? It would probably make
> a nice example program...)
> I'm particularly interested to know
> 1. How exactly would you do the graphical components? (Presumably
> there's some deep trickery with Gtk2hs that can draw free-form stuff
> like this.)
> 2. How do you implement a program that is fundamentally about state
> mutation in a programming language which abhors state mutation?
It's not really fundamentally about state mutation. The only "state"
you're mutating is when you're actually taking the game board and
rendering it on to the screen, and when you're reading input from the
user to direct the next step in the game. But all of the actual logic
- computing collision detection against the existing grid, computing
the score, rotating blocks, etc. - is completely functional.
More information about the Haskell-Cafe