audreyt++ pointed out on #parrot that there doesn't seem to be a way
to specify where to start finding lexicals, in support of perl's
OUTER::. eg. (from S04):

   my $x = $OUTER::x;

or

   my $x = OUTER::<$x>;

i propose this should be specified using a three-arg form of find_lex
<find_lex_p_s_i> where the third parameter is an integer specifying
which level in the lexical chain to start the lookup.

i've entered this TODO test in t/op/lexicals.t, in r13008:
pir_output_is(<<'CODE', <<'OUTPUT', 'find_lex: (Perl6 OUTER::)', todo
=> 'not yet implemented');
.sub main :main
        .lex '$x', 42
        get_outer()
.end

.sub 'get_outer' :outer('main')
        .lex '$x', 13
        $P0 = find_lex '$x', 1
        say $P0
.end
CODE
42
OUTPUT

~jerry

Reply via email to