G'day all. This is just a suggestion, but perhaps the problem isn't that retry isn't inlined, it's that it isn't specialised.
IIRC, GHC does now specialise functions under what I assume would be these conditions: - There is a top-level case expression (possibly under some lets) which tests a function argument. - That function argument has a known constructor at a call site. The situation in Neil's code is almost identical, except that the top-level case expression is on a value passed by environment, not by function argument. Cheers, Andrew Bromage _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users