Tinywm, a window manager in 50 lines of C
incise.org
incise.org
Look at how many windowmanagers are based on aewm, too.
Lispy window manager; gonna chase down the author's page and see if this gave birth to any research papers.
As WMs go, I've had an itch for a while to write a skeleton WM in C with hooks to script it in Lua. dwm continues to work just well enough for me, though, and I've already got too many projects. One of these days... (And no, Awesome and XMonad don't do it for me.)
Also, for anybody doing any kind of exploratory X WM programming, it's incredibly helpful to use a nested X server such as Xnest (http://www.xfree86.org/4.0/Xnest.1.html) for debugging. Something like this should work:
#!/bin/sh
# -ac allows connections
Xnest -ac :1 &
Then you can say e.g. "xeyes -display :1" to run things inside it.