Jon, I wanted to run the raytracing benchmark myself to see if Haskell really was that slow. I'm using ghc 6.10 because that's what ubuntu comes with. I don't know if ghc 6.12 generates slower executables than 6.10 or what else might be going on. I ran each several times and the numbers I pasted are typical (+/- 0.2 seconds, say). jeff@ubuntu:~/Desktop$ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.10.4 jeff@ubuntu:~/Desktop$ g++ --version g++ (Ubuntu 4.4.1-4ubuntu8) 4.4.1 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. jeff@ubuntu:~/Desktop$ ocamlopt -v The Objective Caml native-code compiler, version 3.11.1 Standard library directory: /usr/lib/ocaml I compiled the raytracers for c++, haskell and ocaml from http://www.ffconsultancy.com/languages/ray_tracer/code/5 and used the compile instructions at http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html though I had to change the haskell one to use just ghc instead of specifying a version. I also ran the ocaml and haskell code in the 1/ directory, and they completed within 0.1 seconds of each other. c++ jeff@ubuntu:~/Desktop$ time ./ray 9 512 > /dev/null real    0m3.515s user    0m3.440s sys    0m0.016s haskell jeff@ubuntu:~/Desktop$ time ./ray 9 512 > /dev/null real    0m5.811s user    0m5.752s sys    0m0.032s ocaml jeff@ubuntu:~/Desktop$ time ./ray 9 512 > /dev/null real    0m6.572s user    0m6.544s sys    0m0.016s Jeff