From: Allison Randal <[EMAIL PROTECTED]> Date: Sat, 28 Oct 2006 22:50:57 -0700
Bob Rogers wrote: > Almost two weeks ago, I had what I thought was a clever idea for > eliminating the continuation barrier from action invocation: Simply > call the action using the original continuation instead of creating a > new RetContinuation . . . I can see why the solution was tempting, and I'm glad you tried it out. I can also see why you paused to ask if it was worth continuing. Your instincts are right, this solution gradually pushes further and further from where we want to be. Out of the possible hacks we could do, I'd rather go for the hack of providing a way to create a new RetContinuation from within the C code (even if it's a special kind of return continuation with the same interface, but a different set of internal actions to satisfy the interface). Hmm. I had thought this was what I was attempting, in a lightweight sort of way, without creating a new class. I'm not sure that creating a new class would help, but it's certainly worth considering. Perhaps the options will be clearer when we're farther down the PDD23 road. > [1] I also merged Error_Handler:invoke into Continuation:invoke; it > actually reduces the code volume, but flattens the abstraction, > which doesn't feel quite right. But the point of the existing > Error_Handler:invoke is to return values from C, which ought to be > handled generally anyway. And I assume EH can go away after PDD23, > replaced with a general Continuation. In fact, it may even be > possible to get rid of it now. Can you make this a separate patch, so we can review it independently? I'm not sure we want to do it, but it's worth considering, on the "Distinction vs. Reuse" design scale. Allison You want a patch that just gets rid of Error_Handler? This might be messier without the other changes (by "now" I meant "in a future version of this patch"), but I'll give it a try. Not this weekend, alas. -- Bob