On Dec 30, 2005, at 17:50, Bob Rogers wrote:
The attached patch is functionally complete, but I still have a few
loose ends to nail down, so I thought it would be a good time to post
it
for review. The issues are as follows:
1. It needs more higher-level documentation. Is compiler_faq.pod
the best place for this?
2. Binding 'foo' to a null PMC should cause find_global to err out
with "Global "foo" not found", but this is not happening.
3. There are no tests for threads or stack-unwinding continuations.
(Yes, I am procrastinating.)
I think I've missed to answer the last one WRT that - sorry. Anyway,
here are some comments:
- the patch looks really great and seems to cover all aspects to get
this running (just a minor nitpick: src/register.c:init_context() is a
common place to copy inherited context items)
- the patch seems to miss the 'other part' of 'local' i.e. restoring
the old contents of a variable, like e.g. described in 'perldoc
perlsub' - (whatever the reason is that it's doced there ;)
- that is, Perl5 'local' is much more related to Perl6 'let' or 'temp',
it's not just hiding a variable, it looks to me much more like undoing
temporary damage, which looks to me like STM (w/o the needed
synchronization bits)
- if the intent is just to temporarly hide a name, then it should be ok
(but not refer to 'local' at all)
I think it needs more thoughts and more (common) infrastructure .
leo