Only very recently have I discovered the excellent, simple and lispy window manager Sawfish ( http://sawfish.wikia.com/ ), after being frustrated with Compiz and Metacity and wanting to do what I really want to do with my windows (tried xmonad, wished it would force me to learn Haskell, but couldn't stand the syntax. Plus it seemed too constrained to me).
However, Sawfish uses an outdated and specific Scheme-like language named Rep, and the maintainers are currently looking for a replacement with less flaws and which would be better and actively maintained. Racket ( http://www.racket-lang.org/ ) has been suggested on several occasions, among other languages (e.g., Chicken, or even Python).
I personally love Racket and would be very happy to have it in Sawfish (actually I want a Racket-machine), especially when it comes to debugging (couldn't yet figure out a good way to do that cleanly).
Although there is little chance (unfortunately) that I can/will invest a lot of energy and time in trying to port Sawfish to Racket, I figured that if I could help the process a little, things may move slightly faster. So I started a page on Sawfish's wiki to try to evaluate what needs to be done and what are the biggest problems to solve: http://sawfish.wikia.com/wiki/Porting_Sawfish_to_Racket
It's currently in a stub state, but I will add information with time as I use and understand Rep (and Racket better). But there are people out there who know one or both of them better than me, so please contribute to the page as you see fit.
My $0.02, waiting for the ultimate window manager, Laurent