Hi!
I did a little experiment in last week with haskell. According this (http://graphics.cs.brown.edu/games/quake/quake3.html) tutorial, I wrote a quake 3 bsp map loader and viewer from scratch. (It is independent from frag)
The code is quiet small (~900 lines with comments) and it is based on binary and vector libraries.
You can find the cabalized code here:
http://code.google.com/p/lambdacube/source/browse/#svn/trunk/bsploader
This was my first meet with vector library, so the code is probably not the most efficient one.
Any improvement suggestions are welcome! :)
Cheers
Csaba
PS: read the README file.
navigation: arrows + mouse
(holding right shift increase cam speed)