I’ve had a chance to sit down and write some code for fun now that my book is done so (when I’m not doing thesis research) I’m finally trying to finish wrapping my head around Scheme. Specifically I’m using Chicken because of a recommendation from Stephen Ramsay (who, interestingly enough, I’ve never met even though he only works a short way across campus from me).
So, when I read a post about a Scheme raytracer, I
- Use SRFI (or maybe SLIB) where possible to increase portability
- Avoid using (read) as a parser—not all implementations behave the same way
It was also nice to see how fast the compiled versions of the Gambit and Chicken versions performed—both seem to be good choices:
- Gambit: real 4m22.555s user 4m12.809s sys 0m2.762s
- Chicken: real 4m16.025s user 4m2.641s sys 0m9.172s
If you want to give the code a try, you can download the original code or my modifications.
