From: Allison Randal <[EMAIL PROTECTED]> Date: Sat, 16 Aug 2008 17:52:08 +0200
We're going to a completely stackless virtual machine. But Parrot is already stackless. The dynamic_env slot to which I assume you refer is really a tree with upward pointers. What I need from you is information on how you were using pushaction, so I can figure out what the appropriate replacement is. Is it only UNWIND_PROTECT and SPECIAL variables? Yes. And, how are you implementing those using 'pushaction'? Was [1] not detailed enough? This message links to [2] (from my YAPC talk), which has working examples (up until the merge at least). If you need more detail, please be specific, though it will probably have to wait until after the Parrot release. The actions we have now are tied to a context (currently a subroutine scope), as a handler for a particular control exception (not an error exception). It sounds like you're trying to tell me that I should not be using continuations to implement *any* sort of nonlocal control flow. If so, it would have been kinder to say so before I put my time into a YAPC talk where that was the central theme. They can effectively implement the same features as 'pushaction', but in a safer, continuation-friendly, non-global way. You've completely lost me. Not only do they have to be global (for some definition of "global"), as far as I was concernced they had been "safe" and "continuation-friendly" until the pdd25cx merge. I'm not entirely clear yet how you're using 'pushaction', so I don't know if control actions are the best replacement, or if some other feature will be a better replacement Allison At a minimum, I need to be able to return values. But wait a minute: Aren't these features documented somewhere? If so, please point me there, and maybe I can figure out what I need on my own. If not, why not? -- Bob [1] http://groups.google.com/group/perl.perl6.internals/browse_thread/thread/bb32cedc3456599a/c8822b8e854fa565?hl=en&lnk=st&q=pushaction+unwind-protect#c8822b8e854fa565 [2] http://rgrjr.dyndns.org/perl/acsip/actions.html