On Sat, Nov 08, 2008 at 10:32:38AM -0600, Creighton Hogg wrote: > Hello, > So I'm trying to debug an issue that is causing GHC to emit the > <<loop>> warning. I was hoping to get more information about what > exactly that tells me about the kind of problem, other than the > obvious interpretation that I appear to be getting into some kind of > infinite loop. What is GHC detecting when it emits that warning?
In particular, I think when a thunk is being evaluated, it is marked in some way; if during evaluation an already-marked thunk is encountered, a loop exception is raised, since it means that thunk depends on itself. (I'm hand-waving slightly since I don't actually know the details.) Obviously this cannot catch all infinite loops, but it does catch simple ones where no useful work of evaluation can actually take place. -Brent _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users