The ops described in PDD 6 and docs/parrot_assembly.pod for scratchpads appear to be subtly different from the ones actually in core.ops. In particular, i was led astray by the docs referring to the "newpad" op and core.ops implementing "new_pad". which is it supposed to be? =)
I started investigating scratchpads because I'm interested in improving the scheme compiler. I'd agree with Sean O'Rourke's comments (http://archive.develooper.com/perl6-internals@;perl.org/msg12722.html) -- the current ops seem too limited; in particular, I dont see how one would save a scratchpad with a function definition, or modify the toplevel scratchpad. Looking beyond Scheme, it appears to me that other languages would need more flexible handling of scoping as well; Common Lisp, for example, keeps functions in a separate namespace from other variables. Being new to Parrot hacking, could someone point me at the rationale for making scratchpads a special case, rather than a PMC? Allen
msg22687/pgp00000.pgp
Description: PGP signature