[plt-scheme] Typed tetris
I've ported my Tetris game (planet dvanhorn/tetris) to the Typed Scheme
language. I thought it might be compelling for those interested in
using Typed Scheme and the Student language with the World teachpack.
To compare the untyped and typed variants see:
http://planet.plt-scheme.org/package-source/dvanhorn/tetris.plt/2/3/tetris.ss
http://planet.plt-scheme.org/package-source/dvanhorn/tetris.plt/2/3/typed-tetris.ss
The transition from HtDP-style contracts (in comments) to Typed Scheme
types was effortless. However I had to give up all of my test cases
since I couldn't make check-expect work in Typed Scheme. [There is a
workaround: have an untyped module for test cases that requires the TS
code and htdp/testing.]
I had to require the needed bindings from the Student Language and the
World teachpack with appropriate types. It would be nicer if there were
typed variants of the teaching languages and teachpacks.
I also had to rewrite the one occurrence of local into a letrec: since
there is no Typed Scheme local.
David