Hi, Please excuse the possible 'out of left field' (as we say) aspect of this question but I recently heard about Omniscient Debugging (ODB): http://www.lambdacs.com/debugger/debugger.html
There is an article in the latest Dr Dobbs (6/05) by the above fellow (Bil Lewis - former Sun scientist and author of the GNU Emacs Lisp manual)- he's got a java implementation of ODB. Basically every change to every obj/var is tracked, so you can work back through the whole run in one try, w/o the 'set breakpoint/rerun' sort of iterativeness that goes on, normally. His story is that the JVM is esp. suited to doing this, making the ODB quite easy, so I asked him about how to go about this for perl/p6/parrot: "I took a peek at Parrot... It didn't say the "right" things about how a VM should work, which worries me. In any case, all you have to do is to have your code make the appropriate calls into my recording functions everytime the appropriate event occurs. I do this in Java with byte code insertion. Looks like this will be much harder in the Parrot VM, but still possible. It could be easier to do in the compiler, if you're good with compilers." [ I asked what were the 'right things' ] "The JVM, CLR, and ELisp are all stack machines and they work *really* well. And being a stack machine makes a lot of stuff *really* easy to do. As opposed to previous experience with VMs done as flat register machines. Which have proven harder to work with. Parrot tosses that out and fails to give a convincing argument why. They talk about Perl being interpreted as important. It isn't. You shouldn't even know what it's doing at that level." I don't mean to quote him out of context or to start a stack vs register debate, I was just hoping to get some idea from him what is needed to get ODB to work, but didn't know if there was any hope for it in p6. The lambdaCS site has the java jar/source and a nice enough demo of his implementation, there are a couple of commercial apps: http://www.omnicore.com/registercodeguide.jsp http://www.visicomp.com/ both of which seem to be java only. It would seem to be a very useful addition to the world of perl debugging, if it could be shoehorned in w/o a horrible amount of work. However, I'm not the person to do the shoehorning. Thanks. Andy Bach, Sys. Mangler Internet: [EMAIL PROTECTED] VOICE: (608) 261-5738 FAX 264-5932 "Outside of a dog, a book is man's best friend. Inside of a dog, its too dark to read." Groucho Marx