I played around (rather ineffectually) with David's Haskell code, back when the whole "Yacc is Dead" stuff was here, and I still tend to believe that Haskell results in less code when laziness is involved :)
- A completely new GUI and drawing layer. Replacing 200,000 lines of C++, Xt, Win32, and Carbon with about 30,000 lines of Racket that builds on Gtk, Win32, Cocoa, Cairo, and Pango. Nice.
- Web server changed semantics
- Scribble documents can now hold any image
- Module dependency tools
Racket seems to be really neat with support for features like JIT and futures (which have been around before 5.1).
The other day I tried a simple benchmark (nothing elaborate - just fib) and found it to be significantly faster than Python. Unfortunately I don't have the numbers right now.
Does anyone have any experience to share regarding the use of Racket in a production app?
In particular, I love that you can arbitrarily define (or redefine) patterns for the match construct using macros.
It leads to some damn elegant code:
http://matt.might.net/articles/red-black-delete/
http://matt.might.net/articles/parsing-with-derivatives/