petdance/scratch — Issue #1004: Implicit NameSpace Creation Does Not Respect Compile-time HLL Map
Author: petdance
Created: 2011-11-01 05:38:46+00:00
State: open
Labels: bug, core, Pri-normal, Sev-medium

From an example by Coke:
{{{
.HLL 'tcl'

.sub 'foo' :anon :init
$P1 = get_class 'NameSpace'
$P2 = subclass $P1, 'BSNS'
$P0 = getinterp
$P0.'hll_map'($P1, $P2)
.end

.namespace ['a';'b';'c']

.sub 'hi'
noop
.end

.namespace []

.sub 'blah' :main
$P1 = get_hll_namespace ['a';'b';'c']
$S0 = typeof $P1
print 'ok 1 - '
say $S0
.end
}}}

I believe this should print {{{ ok 1 - BSNS }}}.

Making this work is not trivial.

Originally http://trac.parrot.org/parrot/ticket/867