Hi! On Sat, Jul 12, 2008 at 3:33 AM, Max Bolingbroke <[EMAIL PROTECTED]> wrote: > If findColor had been a function defined in terms of foldr rather than > using explicit recursion, then theres a good chance GHC 6.9 would have > fused it with the list to yield your optimized, loop unrolled, > version:
My first version was with msum. Is this also covered by this fusion? (And it is interesting that my own recursion version is faster than the version with msum. Why?) > Incidentally, if in your most recent email castRayScene2 was your only > used of castRay, GHC would have inlined the whole definition into that > use site and you would have got castRayScene1 back again. It is a little more tricky. I choose in an IO monad which scene it will render (selected by a program argument). So at compile time it does not yet know which one it will use. But there is a finite number of possibilities (in my case two) - why not inline both versions and at run time choose one? Mitar _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe