contifier bug

Stephen Weeks MLton@sourcelight.com
Mon, 26 Feb 2001 10:38:38 -0800 (PST)


> I've reconstructed the error and I think I understand what's going on. 
...
> Arguably, we could switch to ACC2.  On the other hand, because ACC2 is
> safe by the A* definition, I'd really rather fix the transformation to
> work with it.  And the solution is not particularly difficult.  The basic
> problem was that no edge (continue_1, action_2) was included in the
> constructed mini call-graph, corresponding to the (scan_0, action_2) call.
> Yet, we really have this information available.  Because we process the
> nodes according to a dfs of the analysis forest, by the time we process
> L_60065, we've already determined everything that should be contified in
> continue_1, action_2, and identifier_1.  Therefore, we just build the mini
> call-graph by recursively including edges in prefixed functions.

Your explanation and fix makes sense.  But I'm feeling even more nervous about
the transformation and the whole scc problem and am thinking that we should just
add mutually recursive continuations to the IL.