This is my implementation of the ray tracer specified by third ICFP contest. You can see the details here.
I didn't participate in the contest (there's no way I could implement this in just three days!). The code here is just a Haskell port of the submission awarded with the second prize, by team Caml R'us (if I remember correctly). The reasons for doing this were twofold: (1) to teach me how to implement a ray tracer, and (2) to learn Ocaml. Indeed, this project was my first serious attempt at understanding a non trivial OCaml code-base.
I implemented the ray tracer in my spare time during 2002. I don't even remember the ghc version that I used for this. Needless to say, this won't compile in a modern ghc version. Although the port should be easy, I have better things to do. I'm just putting this here in github just for preserving the things I crafted in the good days.