develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35393 - trunk/t/pmc

From:
cotto
Date:
January 10, 2009 23:30
Subject:
[svn:parrot] r35393 - trunk/t/pmc
Message ID:
20090111073009.2827ECB9F9@x12.develooper.com
Author: cotto
Date: Sat Jan 10 23:30:07 2009
New Revision: 35393

Modified:
   trunk/t/pmc/io.t
   trunk/t/pmc/io_iterator.t
   trunk/t/pmc/io_status.t
   trunk/t/pmc/iterator.t
   trunk/t/pmc/key.t
   trunk/t/pmc/lexinfo.t
   trunk/t/pmc/lexpad.t
   trunk/t/pmc/managedstruct.t
   trunk/t/pmc/multiarray.t
   trunk/t/pmc/multidispatch.t
   trunk/t/pmc/multisub.t

Log:
[t] a bunch more string->key test conversions


Modified: trunk/t/pmc/io.t
==============================================================================
--- trunk/t/pmc/io.t	(original)
+++ trunk/t/pmc/io.t	Sat Jan 10 23:30:07 2009
@@ -46,11 +46,11 @@
 .sub main
     $P0 = null
     test($P0, "Undef")
-    new $P0, 'Integer'
+    new $P0, ['Integer']
     test($P0, "null")
-    new $P0, 'Undef'
+    new $P0, ['Undef']
     test($P0, "Integer")
-    new $P0, 'String'
+    new $P0, ['String']
     test($P0, "String")
 .end
 .sub test
@@ -205,7 +205,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", <<'OUTPUT', "read on invalid fh should throw exception" );
-    new P0, 'FileHandle'
+    new P0, ['FileHandle']
 
     push_eh _readline_handler
     readline S0, P0
@@ -295,7 +295,7 @@
    set I0, -12
    set N0, 2.2
    set S0, "Foo"
-   new P0, 'String'
+   new P0, ['String']
    set P0, "Bar\\n"
 
    open P1, "$temp_file", "w"
@@ -516,7 +516,7 @@
 OUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', 'printerr' );
-   new P0, 'String'
+   new P0, ['String']
    set P0, "This is a test\n"
    printerr 10
    printerr "\n"
@@ -829,7 +829,7 @@
     .local string greeting
     .local string layer
 
-    pio = new 'StringHandle'
+    pio = new ['StringHandle']
     print pio, "Hello"
     print pio, ", "
     print pio, "world!"
@@ -855,7 +855,7 @@
     pio = open    "$temp_file", 'w'
     print pio, \$S0
     close pio
-    cl = new 'FileHandle'
+    cl = new ['FileHandle']
     \$S1 = cl.'readall'('$temp_file')
     if \$S0 == \$S1 goto ok
     print "not "

Modified: trunk/t/pmc/io_iterator.t
==============================================================================
--- trunk/t/pmc/io_iterator.t	(original)
+++ trunk/t/pmc/io_iterator.t	Sat Jan 10 23:30:07 2009
@@ -26,18 +26,18 @@
 pir_output_is( <<'CODE', <<'OUT', 'new', todo => 'not yet implemented' );
 .sub 'test' :main
     $P99 = 1 # RT #46847 replace with io object
-    $P0 = new 'Iterator', $P99
-    say "ok 1 - $P0 = new 'Iterator', $P1"
+    $P0 = new ['Iterator'], $P99
+    say "ok 1 - $P0 = new ['Iterator'], $P1"
 .end
 CODE
-ok 1 - $P0 = new 'Iterator', $P1
+ok 1 - $P0 = new ['Iterator'], $P1
 OUT
 
 # L<PDD22/I\/O Iterator PMC API/=item shift>
 pir_output_is( <<'CODE', <<'OUT', 'shift', todo => 'not yet implemented' );
 .sub 'test' :main
     $P99 = 1 # RT #46847 replace with io object
-    $P0 = new 'Iterator', $P99
+    $P0 = new ['Iterator'], $P99
 
     $S0 = shift $P0
 
@@ -56,7 +56,7 @@
 pir_output_is( <<'CODE', <<'OUT', 'get_bool (vtable)', todo => 'not yet implemented' );
 .sub 'test' :main
     $P99 = 1 # RT #46847 replace with io object
-    $P0 = new 'Iterator', $P99
+    $P0 = new ['Iterator'], $P99
 
     # empty i/o object
     unless $P0 goto ok_1

Modified: trunk/t/pmc/io_status.t
==============================================================================
--- trunk/t/pmc/io_status.t	(original)
+++ trunk/t/pmc/io_status.t	Sat Jan 10 23:30:07 2009
@@ -26,16 +26,16 @@
 pir_output_is( <<'CODE', <<'OUT', 'new', todo => 'not yet implemented' );
 .sub 'test' :main
     new P0, 'Status'
-    say "ok 1 - $P0 = new 'Status'"
+    say "ok 1 - $P0 = new ['Status']"
 .end
 CODE
-ok 1 - $P0 = new 'Status'
+ok 1 - $P0 = new ['Status']
 OUT
 
 # L<PDD22/Status Object PMC API/=item get_integer (vtable)>
 pir_output_is( <<'CODE', <<'OUT', 'get_integer (vtable)', todo => 'not yet implemented' );
 .sub 'test' :main
-    $P0 = new 'Status'
+    $P0 = new ['Status']
 
     # TODO test more return values
     # TODO figure out how to set the values to make testing possible
@@ -65,7 +65,7 @@
 # L<PDD22/Status Object PMC API/=item get_bool (vtable)>
 pir_output_is( <<'CODE', <<'OUT', 'get_bool (vtable)', todo => 'not yet implemented' );
 .sub 'test' :main
-    $P0 = new 'Status'
+    $P0 = new ['Status']
 
     # TODO figure out how to set the values to make testing possible
 
@@ -93,7 +93,7 @@
 # L<PDD22/Status Object PMC API/=item return>
 pir_output_is( <<'CODE', <<'OUT', 'return', todo => 'not yet implemented' );
 .sub 'test' :main
-    $P0 = new 'Status'
+    $P0 = new ['Status']
 
     # TODO test all return values
     # TODO figure out how to set the values to make testing possible
@@ -126,7 +126,7 @@
 # L<PDD22/Status Object PMC API/=item error>
 pir_output_is( <<'CODE', <<'OUT', 'error', todo => 'not yet implemented' );
 .sub 'test' :main
-    $P0 = new 'Status'
+    $P0 = new ['Status']
 
     # TODO test all error values
     # TODO figure out how to set the values to make testing possible
@@ -178,7 +178,7 @@
 # L<PDD22/Status Object PMC API/=item throw>
 pir_output_is( <<'CODE', <<'OUT', 'throw', todo => 'not yet implemented' );
 .sub 'test' :main
-    $P0 = new 'Status'
+    $P0 = new ['Status']
 
     # TODO figure out how to set the values to make testing possible
 
@@ -189,7 +189,7 @@
     say 'ok 1 - $P0.throw() # no error'
 
   test_2:
-    $P0 = new 'Status' # need error here
+    $P0 = new ['Status'] # need error here
 
     push_eh eh_error
     $P0.throw()

Modified: trunk/t/pmc/iterator.t
==============================================================================
--- trunk/t/pmc/iterator.t	(original)
+++ trunk/t/pmc/iterator.t	Sat Jan 10 23:30:07 2009
@@ -24,8 +24,8 @@
 =cut
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "new iter" );
-    new P2, 'ResizablePMCArray'
-    new P1, 'Iterator', P2
+    new P2, ['ResizablePMCArray']
+    new P1, ['Iterator'], P2
     print "ok 1\n"
     end
 CODE
@@ -34,24 +34,24 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "int test" );
     .include "iterator.pasm"
-    new P0, 'ResizablePMCArray'    # empty array
-    new P2, 'ResizablePMCArray'    # array with 2 elements
+    new P0, ['ResizablePMCArray']    # empty array
+    new P2, ['ResizablePMCArray']    # array with 2 elements
     push P2, 10
     push P2, 20
     set I0, P2
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     print "ok 1\n"
     set I1, P1
     eq I0, I1, ok2        # iter.length() == array.length()
     print "not "
 ok2:    print "ok 2\n"
-    new P1, 'Iterator', P0
+    new P1, ['Iterator'], P0
     set P1, .ITERATE_FROM_START
     print "ok 3\n"
     unless P1, ok4        # if(iter) == false on empty
     print "not "
 ok4:    print "ok 4\n"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
     if P1, ok5        # if(iter) == true on non empty
     print "not "
@@ -110,24 +110,24 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "Hash iter 1" );
     .include "iterator.pasm"
-    new P0, 'Hash'    # empty Hash
-    new P2, 'Hash'    # Hash with 2 elements
+    new P0, ['Hash']    # empty Hash
+    new P2, ['Hash']    # Hash with 2 elements
     set P2["ab"], 100
     set P2["xy"], "value"
     set I0, P2
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     print "ok 1\n"
     set I1, P1
     eq I0, I1, ok2        # iter.length() == hash.length()
     print "not "
 ok2:    print "ok 2\n"
-    new P1, 'Iterator', P0
+    new P1, ['Iterator'], P0
     set P1, .ITERATE_FROM_START
     print "ok 3\n"
     unless P1, ok4        # if(iter) == false on empty
     print "not "
 ok4:    print "ok 4\n"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
     if P1, ok5        # if(iter) == true on non empty
     print "not "
@@ -164,24 +164,24 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "Hash iter 1" );
     .include "iterator.pasm"
-    new P0, 'Hash'    # empty Hash
-    new P2, 'Hash'    # Hash with 2 elements
+    new P0, ['Hash']    # empty Hash
+    new P2, ['Hash']    # Hash with 2 elements
     set P2["ab"], 100
     set P2["xy"], "value"
     set I0, P2
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     print "ok 1\n"
     set I1, P1
     eq I0, I1, ok2        # iter.length() == hash.length()
     print "not "
 ok2:    print "ok 2\n"
-    new P1, 'Iterator', P0
+    new P1, ['Iterator'], P0
     set P1, .ITERATE_FROM_START
     print "ok 3\n"
     unless P1, ok4        # if(iter) == false on empty
     print "not "
 ok4:    print "ok 4\n"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
     if P1, ok5        # if(iter) == true on non empty
     print "not "
@@ -218,8 +218,8 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "Hash iter 2" );
     .include "iterator.pasm"
-    new P0, 'Hash'    # Hash for iteration
-    new P2, 'Hash'    # for test
+    new P0, ['Hash']    # Hash for iteration
+    new P2, ['Hash']    # for test
 
     set I0, 65
     set I1, 35
@@ -231,7 +231,7 @@
     dec I1
     if I1, fill
 
-    new P1, 'Iterator', P0
+    new P1, ['Iterator'], P0
     set I0, P1
     eq I0, I10, ok1
     print "not "
@@ -258,9 +258,9 @@
 OUTPUT
 pasm_output_is( <<'CODE', <<OUTPUT, "string iteration forward" );
     .include "iterator.pasm"
-    new P2, 'String'
+    new P2, ['String']
     set P2, "parrot"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
 iter_loop:
         unless P1, iter_end        # while (entries) ...
@@ -279,9 +279,9 @@
 
 pasm_output_is( <<'CODE', <<OUTPUT, "string iteration backward" );
     .include "iterator.pasm"
-    new P2, 'String'
+    new P2, ['String']
     set P2, "parrot"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_END
 iter_loop:
         unless P1, iter_end        # while (entries) ...
@@ -300,9 +300,9 @@
 
 pasm_output_is( <<'CODE', <<OUTPUT, "string iteration forward get ord" );
     .include "iterator.pasm"
-    new P2, 'String'
+    new P2, ['String']
     set P2, "ABC"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
 iter_loop:
         unless P1, iter_end        # while (entries) ...
@@ -321,9 +321,9 @@
 
 pasm_output_is( <<'CODE', <<OUTPUT, "string iteration backward get ord" );
 .include "iterator.pasm"
-    new P2, 'String'
+    new P2, ['String']
     set P2, "ABC"
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_END
 iter_loop:
         unless P1, iter_end        # while (entries) ...
@@ -345,13 +345,13 @@
 .include "iterator.pasm"
 .sub _main
     .local pmc string_1
-    string_1 = new 'String'
+    string_1 = new ['String']
     string_1 = "abcd\x65\x66\x67"
     print string_1
     print "\n"
 
     .local pmc iter_1
-    iter_1 = new 'Iterator', string_1
+    iter_1 = new ['Iterator'], string_1
     iter_1 = .ITERATE_FROM_START
 
     .local int code_point_1
@@ -382,14 +382,14 @@
 .include "iterator.pasm"
 .sub _main
     .local pmc string_1
-    string_1 = new 'String'
+    string_1 = new ['String']
     string_1 = "abcd\x65\x66\x67"
     print 'String new: '
     print string_1
     print "\n"
 
     .local pmc iter_1
-    iter_1 = new 'Iterator', string_1
+    iter_1 = new ['Iterator'], string_1
     iter_1 = .ITERATE_FROM_START
 
     .local int    code_point_1
@@ -432,7 +432,7 @@
 .include "iterator.pasm"
 .sub _main
     .local pmc array_1
-    array_1 = new 'ResizablePMCArray'
+    array_1 = new ['ResizablePMCArray']
     push array_1, 'a'
     push array_1, 'b'
     push array_1, 'c'
@@ -447,7 +447,7 @@
     print "\n"
 
     .local pmc iter_1
-    iter_1 = new 'Iterator', array_1
+    iter_1 = new ['Iterator'], array_1
     iter_1 = .ITERATE_FROM_START
 
     .local string elem_1
@@ -502,7 +502,7 @@
     print "\n"
 
     .local pmc iter_2
-    iter_2 = new 'Iterator', array_1
+    iter_2 = new ['Iterator'], array_1
     iter_2 = .ITERATE_FROM_END
 
     print 'Iterator shift_float: '
@@ -539,12 +539,12 @@
     pasm_output_is( <<'CODE', <<'OUTPUT', "shift + index access" );
     .include "iterator.pasm"
 
-    new P2, 'ResizablePMCArray'    # array with 4 elements
+    new P2, ['ResizablePMCArray']    # array with 4 elements
     push P2, 10
     push P2, 20
     push P2, 30
     push P2, 40
-    new P1, 'Iterator', P2
+    new P1, ['Iterator'], P2
     set P1, .ITERATE_FROM_START
 
     set I0, P1        # arr.length
@@ -584,7 +584,7 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "iter vtable" );
    .include "iterator.pasm"
-   new P0, 'ResizablePMCArray'
+   new P0, ['ResizablePMCArray']
    push P0, 100
    push P0, 200
    push P0, 300
@@ -619,7 +619,7 @@
 
 pasm_output_is( <<'CODE', <<OUTPUT, "string iteration with get_iter" );
     .include "iterator.pasm"
-    new P2, 'String'
+    new P2, ['String']
     set P2, "parrot"
     iter P1, P2
 iter_loop:
@@ -639,7 +639,7 @@
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "intlist iter vtable" );
    .include "iterator.pasm"
-   new P0, 'IntList'
+   new P0, ['IntList']
    push P0, 100
    push P0, 200
    push P0, 300
@@ -683,7 +683,7 @@
     .local string k
     .local int i,v
 
-    h = new 'Hash'
+    h = new ['Hash']
     i = 0
 lp1:
     $I0 = i + 65
@@ -693,7 +693,7 @@
     if i < 10 goto lp1
 
     it = iter h
-    ar = new 'ResizablePMCArray'
+    ar = new ['ResizablePMCArray']
     i = 20
 lp2:
     unless it goto ex
@@ -727,7 +727,7 @@
 pir_output_is( << 'CODE', << 'OUTPUT', "by default, iterate from start" );
 .sub main :main
     .local pmc ar, it
-    ar= new 'ResizablePMCArray'
+    ar= new ['ResizablePMCArray']
     push ar, 'pi'
     push ar, 3
     push ar, 6.28
@@ -749,9 +749,9 @@
 pir_output_is( << 'CODE', << 'OUTPUT', "iterator can be cloned" );
 .sub main :main
     .local pmc ar, i1, i2
-    ar = new 'ResizableIntegerArray'
+    ar = new ['ResizableIntegerArray']
     push ar, 17
-    new i1, 'Iterator', ar
+    new i1, ['Iterator'], ar
     clone i2, i1
 .end
 CODE
@@ -760,11 +760,11 @@
 pir_output_is( << 'CODE', << 'OUTPUT', "cloned iterator independent of original" );
 .sub main :main
     .local pmc ar, i1, i2
-    ar = new 'ResizableIntegerArray'
+    ar = new ['ResizableIntegerArray']
     push ar, 17
     push ar, 42
 
-    new i1, 'Iterator', ar
+    new i1, ['Iterator'], ar
     clone i2, i1
 
     .local pmc temp
@@ -794,10 +794,10 @@
 .sub main :main
     .local pmc ar, i1, i2
     .local pmc temp
-    ar = new 'ResizableIntegerArray'
+    ar = new ['ResizableIntegerArray']
     push ar, 1
     push ar, 2
-    new i1, 'Iterator', ar
+    new i1, ['Iterator'], ar
 
     shift temp, i1
     unless temp == 1 goto fail
@@ -825,10 +825,10 @@
 .sub main :main
     .local pmc ar, i1, i2
     .local pmc temp
-    temp = new 'Integer'
-    ar   = new 'ResizableIntegerArray'
+    temp = new ['Integer']
+    ar   = new ['ResizableIntegerArray']
     push ar, 1
-    new i1, 'Iterator', ar
+    new i1, ['Iterator'], ar
 
     # i1 and i2 now "point" to the same element of the same array.
     clone i2, i1

Modified: trunk/t/pmc/key.t
==============================================================================
--- trunk/t/pmc/key.t	(original)
+++ trunk/t/pmc/key.t	Sat Jan 10 23:30:07 2009
@@ -32,12 +32,12 @@
     .local string result
     result = ''
 
-    new $P0, 'Key'
+    new $P0, ['Key']
     set $P0, "1"
-    new $P1, 'Key'
+    new $P1, ['Key']
     set $P1, "2"
     push $P0, $P1
-    new $P2, 'Key'
+    new $P2, ['Key']
     set $P2, "3"
     push $P1, $P2
 
@@ -66,7 +66,7 @@
 .end
 
 .sub extract_int_from_string_keys
-    new $P0, 'ResizableStringArray'
+    new $P0, ['ResizableStringArray']
     push $P0, 'ok1'
     push $P0, 'ok2'
     set $S0, 0
@@ -77,7 +77,7 @@
 .end
 
 .sub extract_string_from_int_keys
-    new $P0, 'Hash'
+    new $P0, ['Hash']
     set $P0['1'], 'ok1'
     set $P0['2'], 'ok2'
     set $I0, 1
@@ -126,10 +126,10 @@
 .sub 'xxx' :anon
   .local pmc call_chain, lexpad
   call_chain = get_root_global ['_tcl'], 'call_chain'
-  lexpad = new 'Hash'
+  lexpad = new ['Hash']
   push call_chain, lexpad
   .local pmc arg_list
-  arg_list = new 'ResizablePMCArray'
+  arg_list = new ['ResizablePMCArray']
   lexpad['args'] = arg_list
     $P14 = find_name "&info"
     $P14()
@@ -142,7 +142,7 @@
   pir_compiler = compreg 'PIR'
   $P0 = pir_compiler($S0)
   $P0 = $P0[0]
-  $P1 = new 'TclProc'
+  $P1 = new ['TclProc']
   assign $P1, $P0
   .local pmc ns_target
   ns_target = get_hll_namespace
@@ -156,7 +156,7 @@
   load_bytecode 'PGE.pbc'
   $P0 = get_class 'Sub'
   $P1 = subclass $P0, 'TclProc'
-  $P1 = new 'ResizablePMCArray'
+  $P1 = new ['ResizablePMCArray']
   set_global 'call_chain', $P1
 .end
 

Modified: trunk/t/pmc/lexinfo.t
==============================================================================
--- trunk/t/pmc/lexinfo.t	(original)
+++ trunk/t/pmc/lexinfo.t	Sat Jan 10 23:30:07 2009
@@ -26,7 +26,7 @@
 
 .sub new_test
     push_eh eh
-    $P0 = new 'LexInfo'
+    $P0 = new ['LexInfo']
     pop_eh
     ok(0, "shouldn't be able to create a LexInfo without an initializer")
     goto end

Modified: trunk/t/pmc/lexpad.t
==============================================================================
--- trunk/t/pmc/lexpad.t	(original)
+++ trunk/t/pmc/lexpad.t	Sat Jan 10 23:30:07 2009
@@ -26,7 +26,7 @@
 
 .sub new_test
     push_eh eh
-    $P0 = new 'LexPad'
+    $P0 = new ['LexPad']
     pop_eh
     ok(0, "shouldn't be able to create a LexPad without an initializer")
     goto end

Modified: trunk/t/pmc/managedstruct.t
==============================================================================
--- trunk/t/pmc/managedstruct.t	(original)
+++ trunk/t/pmc/managedstruct.t	Sat Jan 10 23:30:07 2009
@@ -28,7 +28,7 @@
 .end
 
 .sub set_managedstruct_size
-    new $P0, 'ManagedStruct'
+    new $P0, ['ManagedStruct']
     set $I0,$P0
     is($I0, 0, "empty ManagedStruct has size 0")
     set $P0,1
@@ -43,7 +43,7 @@
 .sub element_access
 
     #element access - float, double
-    new $P2, 'ResizablePMCArray'
+    new $P2, ['ResizablePMCArray']
     .include "datatypes.pasm"
     push $P2, .DATATYPE_FLOAT
     push $P2, 2	# 2 elem array
@@ -51,7 +51,7 @@
     push $P2, .DATATYPE_DOUBLE
     push $P2, 0
     push $P2, 0
-    new $P0, 'ManagedStruct', $P2
+    new $P0, ['ManagedStruct'], $P2
     # must have set size automatically
     # this is hopefully 2*4+8 everywhere
     set $I0, $P0
@@ -75,11 +75,11 @@
 
 
     #element access - char, short
-    new $P2, 'ResizablePMCArray'
+    new $P2, ['ResizablePMCArray']
     push $P2, .DATATYPE_CHAR
     push $P2, 2	# 2 elem char array
     push $P2, 0
-    new $P0, 'ManagedStruct', $P2
+    new $P0, ['ManagedStruct'], $P2
     set $I0, $P0
     $I1 = ge $I0, 2
     ok($I1, "ManagedStruct size is at least 2")
@@ -91,7 +91,7 @@
     set $I0, $P0[0;1]
     is($I0, 2, "char val of 258 retrieved as 2")
     # now acces that as a short
-    new $P2, 'ResizablePMCArray'
+    new $P2, ['ResizablePMCArray']
     push $P2, .DATATYPE_SHORT
     push $P2, 1
     push $P2, 0
@@ -109,7 +109,7 @@
 #.include "datatypes.pasm"
 #
 .sub named_element_access_int16
-    new $P1, 'OrderedHash'
+    new $P1, ['OrderedHash']
     set  $P1['x'], .DATATYPE_INT16
     push $P1, 0
     push $P1, 0
@@ -119,7 +119,7 @@
     push $P1, 0
 
     # need a ManagedStruct to allocate data memory
-    new $P2, 'ManagedStruct', $P1
+    new $P2, ['ManagedStruct'], $P1
 
     # calc allocation size
     set $I0, 0
@@ -156,16 +156,16 @@
 .sub nested_struct_offsets
 
     # the nested structure
-    new $P3, 'ResizablePMCArray'
+    new $P3, ['ResizablePMCArray']
     push $P3, .DATATYPE_INT
     push $P3, 0
     push $P3, 0
     push $P3, .DATATYPE_INT
     push $P3, 0
     push $P3, 0
-    new $P4, 'UnManagedStruct', $P3
+    new $P4, ['UnManagedStruct'], $P3
     # outer structure
-    new $P2, 'ResizablePMCArray'
+    new $P2, ['ResizablePMCArray']
     push $P2, .DATATYPE_INT
     push $P2, 0
     push $P2, 0
@@ -179,7 +179,7 @@
     push $P2, 0
     push $P2, 0
     # attach struct initializer
-    new $P5, 'UnManagedStruct', $P2
+    new $P5, ['UnManagedStruct'], $P2
 
     # now check offsets
     set $I0, $P2[2]
@@ -204,7 +204,7 @@
 
 .sub interface_check
     .local pmc pmc1
-    pmc1 = new 'ManagedStruct'
+    pmc1 = new ['ManagedStruct']
     .local int bool1
     does bool1, pmc1, "scalar"
     is(bool1, 1, "ManagedStruct does scalar")

Modified: trunk/t/pmc/multiarray.t
==============================================================================
--- trunk/t/pmc/multiarray.t	(original)
+++ trunk/t/pmc/multiarray.t	Sat Jan 10 23:30:07 2009
@@ -24,20 +24,20 @@
 =cut
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "multiarray creation" );
-    new P1, 'ResizablePMCArray'
+    new P1, ['ResizablePMCArray']
     # intial size
     set P1[0], 0
     set P1[1], 50
     # dimensions 10x5 2D array
     # XXX can this be done w/o push/append a key?
-    new P2, 'Key'
+    new P2, ['Key']
     set P2, 10
-    new P3, 'Key'
+    new P3, ['Key']
     set P3, 5
     push P2, P3
     set P1[2], 1
     set P1[3], P2
-    new P0, 'MultiArray', P1
+    new P0, ['MultiArray'], P1
     print "ok\n"
     end
 CODE
@@ -45,19 +45,19 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "multiarray access 2d" );
-    new P1, 'ResizablePMCArray'
+    new P1, ['ResizablePMCArray']
     # intial size
     set P1[0], 0
     set P1[1], 100
     # dimensions
-    new P2, 'Key'
+    new P2, ['Key']
     set P2, 10
-    new P3, 'Key'
+    new P3, ['Key']
     set P3, 5
     push P2, P3
     set P1[2], 1
     set P1[3], P2
-    new P0, 'MultiArray', P1
+    new P0, ['MultiArray'], P1
     # array size, multiarray doesnt autogrow
     set P0, 200
 
@@ -102,22 +102,22 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "multiarray access 3d" );
-    new P1, 'ResizablePMCArray'
+    new P1, ['ResizablePMCArray']
     # initial size
     set P1[0], 0
     set P1[1], 200
     # dimensions 10x5x4
-    new P2, 'Key'
+    new P2, ['Key']
     set P2, 10
-    new P3, 'Key'
+    new P3, ['Key']
     set P3, 5
     push P2, P3
-    new P3, 'Key'
+    new P3, ['Key']
     set P3, 4
     push P2, P3
     set P1[2], 1
     set P1[3], P2
-    new P0, 'MultiArray', P1
+    new P0, ['MultiArray'], P1
     set P0, 200
 
     set I10, 10
@@ -200,7 +200,7 @@
 
 .sub _main
     .local pmc pmc1
-    pmc1 = new 'MultiArray'
+    pmc1 = new ['MultiArray']
     .local int bool1
     does bool1, pmc1, "scalar"
     print bool1
@@ -221,28 +221,28 @@
 
 pir_output_is( << 'CODE', << 'OUTPUT', 'Verify Basic Iterator support' );
   .sub test :main
-     $P1 = new 'ResizablePMCArray'
+     $P1 = new ['ResizablePMCArray']
 
      $P1[0] = 0
      $P1[1] = 4
 
-     $P2 = new 'Key'
+     $P2 = new ['Key']
      $P2 = 2
-     $P3 = new 'Key'
+     $P3 = new ['Key']
      $P3 = 2
      push $P2, $P3
 
      $P1[2] = 1
      $P1[3] = $P2
 
-     $P0 = new 'MultiArray', $P1
+     $P0 = new ['MultiArray'], $P1
 
      $P0[0;0] = 1
      $P0[1;0] = 2
      $P0[0;1] = 3
      $P0[1;1] = 4
 
-     $P9 = new 'Iterator', $P0
+     $P9 = new ['Iterator'], $P0
 loop:
     unless $P9 goto end_loop
     $P10 = shift $P9

Modified: trunk/t/pmc/multidispatch.t
==============================================================================
--- trunk/t/pmc/multidispatch.t	(original)
+++ trunk/t/pmc/multidispatch.t	Sat Jan 10 23:30:07 2009
@@ -32,9 +32,9 @@
     divide = get_global "Integer_divide_Integer"
     add_multi "divide", "Integer,Integer,Integer", divide
 
-    $P0 = new 'Integer'
-    $P1 = new 'Integer'
-    $P2 = new 'Integer'
+    $P0 = new ['Integer']
+    $P1 = new ['Integer']
+    $P2 = new ['Integer']
     $P1 = 10
     $P2 = 3
     $P0 = $P1 / $P2
@@ -64,9 +64,9 @@
     add = get_global "add"
     add_multi "add", "Integer,Integer,Integer", add
 
-    $P0 = new 'Integer'
-    $P1 = new 'Integer'
-    $P2 = new 'Integer'
+    $P0 = new ['Integer']
+    $P1 = new ['Integer']
+    $P2 = new ['Integer']
     $P1 = 1
     $P2 = 1
     $P0 = $P1 + $P2
@@ -96,9 +96,9 @@
     divide = get_global "Integer_divide_Integer"
     add_multi "divide", "Integer,Integer,Integer", divide
 
-    $P0 = new 'Integer'
-    $P1 = new 'Integer'
-    $P2 = new 'Integer'
+    $P0 = new ['Integer']
+    $P1 = new ['Integer']
+    $P2 = new ['Integer']
     $P1 = 10
     $P2 = 3
     $P0 = $P1 / $P2
@@ -124,8 +124,8 @@
     comp = get_global "Float_cmp_Integer"
     add_multi "cmp", "Float,Integer", comp
 
-    $P1 = new 'Float'
-    $P2 = new 'Integer'
+    $P1 = new ['Float']
+    $P2 = new ['Integer']
     $P1 = 47.11
     $P2 = 47
     $I0 = cmp $P1, $P2   # XXX cmp calls cmp_num
@@ -183,8 +183,8 @@
     print "ok 1\n"
     ne_addr $P0, comp, nok
     print "ok 2\n"
-    $P1 = new 'Float'
-    $P2 = new 'Integer'
+    $P1 = new ['Float']
+    $P2 = new ['Integer']
     $P1 = 47.11
     $P2 = 47
     $I0 = $P0($P1, $P2)
@@ -227,9 +227,9 @@
     divide = get_global "Integer_divide_Integer"
     add_multi "divide", "Integer,Integer,Integer", divide
 
-    \$P0 = new 'Integer'
-    \$P1 = new 'Integer'
-    \$P2 = new 'Integer'
+    \$P0 = new ['Integer']
+    \$P1 = new ['Integer']
+    \$P2 = new ['Integer']
     \$P1 = 10
     \$P2 = 3
     \$P0 = \$P1 / \$P2
@@ -244,7 +244,7 @@
     get_global P10, "Integer_bxor_Intval"
     add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
 
-    new P1, 'Integer'
+    new P1, ['Integer']
     set P1, 3
     bxor P9, P1, 2
     print P9
@@ -255,7 +255,7 @@
     print "ok\n"
     set I10, P5
     bxor I11, I10, I5
-    new P6, 'Integer'
+    new P6, ['Integer']
     set P6, I11
     set_returns "0", P6
     returncc
@@ -269,8 +269,8 @@
     get_global P10, "Integer_bxor_Intval"
     add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
 
-    new P0, 'Integer'
-    new P1, 'Integer'
+    new P0, ['Integer']
+    new P1, ['Integer']
     set P1, 3
     bxor P0, P1, 2
     print P0
@@ -294,8 +294,8 @@
     get_global P10, "Integer_bxor_Intval"
     add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
 
-    new P0, 'Integer'
-    new P1, 'Integer'
+    new P0, ['Integer']
+    new P1, ['Integer']
     set P1, 3
     bxor P0, P1, 2
     print P0
@@ -309,7 +309,7 @@
     print "ok\n"
     set I10, P5
     bxor I11, I10, I5
-    new P6, 'Integer'
+    new P6, ['Integer']
     set P6, I11
     set_returns "0", P6
     returncc
@@ -326,9 +326,9 @@
 .sub main :main
     .local pmc F, B, f, b, m, s
     newclass F, "Foo"
-    f = new "Foo"
+    f = new ['Foo']
     newclass B, "Bar"
-    b = new "Bar"
+    b = new ['Bar']
     # create a multi the hard way
     ## m = new MultiSub
     ## s = get_global "Foo", "foo"
@@ -380,10 +380,10 @@
     print "\n"
 .end
 .sub main :main
-    $P0 = new 'Float'
+    $P0 = new ['Float']
     $P0 = 9.5
     foo(1, $P0)
-    $P1 = new 'Integer'
+    $P1 = new ['Integer']
     $P1 = 3
     foo(1, $P1)
 .end
@@ -404,10 +404,10 @@
     print "\n"
 .end
 .sub main :main
-    $P0 = new 'Float'
+    $P0 = new ['Float']
     $P0 = 9.5
     foo(1, $P0)
-    $P1 = new 'Integer'
+    $P1 = new ['Integer']
     $P1 = 3
     foo(1, $P1)
 .end
@@ -466,21 +466,21 @@
 
 pir_output_is( <<'CODE', <<'OUT', 'MMD on PMC types' );
 .sub 'test' :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
 
     $P0 = subclass 'PString', "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass 'String', "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
@@ -506,21 +506,21 @@
 
 pir_output_is( <<'CODE', <<'OUT', 'MMD on PMC types quoted' );
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
 
     $P0 = subclass "PString", "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass "String", "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
@@ -546,24 +546,24 @@
 
 pir_error_output_like( <<'CODE', <<'OUT', 'MMD on PMC types, invalid' );
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
     $P0 = subclass "PString", "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass "String", "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
-    $P0 = new 'Integer'
+    $P0 = new ['Integer']
     p($P0)
 .end
 
@@ -588,28 +588,28 @@
 
 pir_output_is( <<'CODE', <<'OUT', 'MMD on PMC types 3' );
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
 
     $P0 = subclass "PString", "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass "String", "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
 
     .local pmc pint
     pint = subclass 'Integer', 'PInt'
-    $P0 = new 'PInt'
+    $P0 = new ['PInt']
     $P0 = 42
     p($P0)
 .end
@@ -643,21 +643,21 @@
 
 pir_output_is( <<'CODE', <<'OUT', 'MMD on PMC types, global namespace' );
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
 
     $P0 = subclass "PString", "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass "String", "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
@@ -685,21 +685,21 @@
 .namespace ["Some"]
 
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
     p($P0)
 
     .local pmc pstring
     pstring = subclass 'String', 'PString'
-    $P1 = new 'PString'
+    $P1 = new ['PString']
     $P1 = "ok 2\n"
     p($P1)
 
     $P0 = subclass "PString", "Xstring"
-    $P0 = new "Xstring"
+    $P0 = new ['Xstring']
     $P0 = "ok 3\n"
     $P1 = subclass "String", "Ystring"
-    $P1 = new "Ystring"
+    $P1 = new ['Ystring']
     $P1 = "ok 4\n"
     p($P0)
     p($P1)
@@ -726,16 +726,16 @@
 pir_output_is( <<'CODE', <<'OUT', "MMD on PMC types - Any", todo => 'RT #41374' );
 
 .sub main :main
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "ok 1\n"
-    $P1 = new 'PerlInt'
+    $P1 = new ['PerlInt']
     $P1 = "ok 2\n"
     p($P0)
     p($P1)
-    $P0 = new 'PerlInt'
+    $P0 = new ['PerlInt']
     $P0 = 42
     p($P0)
-    $P0 = new 'PerlInt'
+    $P0 = new ['PerlInt']
     $P0 = 43
     q($P0)
 .end
@@ -778,9 +778,9 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "add as function - Int, Float" );
 .sub main :main
     .local pmc d, l, r, a
-    d = new 'Integer'
-    l = new 'Integer'
-    r = new 'Float'
+    d = new ['Integer']
+    l = new ['Integer']
+    r = new ['Float']
     l = 3
     r = 39.42
     a = get_root_global ["MULTI"], "add"
@@ -796,8 +796,8 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "add as method" );
 .sub main :main
     .local pmc d, l, r
-    l = new 'Integer'
-    r = new 'Integer'
+    l = new ['Integer']
+    r = new ['Integer']
     l = 3
     r = 39
     d = l."add"(r, d)
@@ -814,8 +814,8 @@
     .local pmc d, l, r
     .local pmc pint
     pint = subclass 'Integer', 'PInt'
-    l = new 'PInt'
-    r = new 'PInt'
+    l = new ['PInt']
+    r = new ['PInt']
     l = 3
     r = 39
     d = l."add"(r, d)
@@ -829,8 +829,8 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "add as method - Int, Float" );
 .sub main :main
     .local pmc d, l, r
-    l = new 'Integer'
-    r = new 'Float'
+    l = new ['Integer']
+    r = new ['Float']
     l = 3
     r = 39.42
     d = l."add"(r, d)
@@ -845,16 +845,16 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "bound add method" );
 .sub main :main
     .local pmc d, l, r, m
-    d = new 'Integer'
-    l = new 'Integer'
-    r = new 'Float'
+    d = new ['Integer']
+    l = new ['Integer']
+    r = new ['Float']
     l = 3
     r = 39.42
     m = get_global ['scalar'], "add"
     d = m(r, l, d)
     print d
     print "\n"
-    r = new 'Integer'
+    r = new ['Integer']
     r = 39
     m = get_global ['Integer'], "add"
     d = m(r, l, d)
@@ -871,9 +871,9 @@
 .sub main :main
     .local pmc d, l, r, cl
     cl = subclass "Integer", "AInt"
-    d = new "AInt"
-    l = new "AInt"
-    r = new "AInt"
+    d = new ['AInt']
+    l = new ['AInt']
+    r = new ['AInt']
     l = 4
     r = 38
     print l
@@ -899,8 +899,8 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "Integer subclasses, add" );
 .sub main :main
     $P0 = subclass "Integer", "AInt"
-    $P0 = new "AInt"
-    $P1 = new 'Integer'
+    $P0 = new ['AInt']
+    $P1 = new ['Integer']
     set $P0, 6
     set $P1, 2
 
@@ -916,7 +916,7 @@
     print l
     print r
     print "\n"
-    d = new 'Integer'
+    d = new ['Integer']
     d = 2
     .return(d)
 .end
@@ -936,7 +936,7 @@
     print l
     print r
     print "\n"
-    d = new 'Integer'
+    d = new ['Integer']
     d = 2
     .return(d)
 .end
@@ -947,8 +947,8 @@
 .sub main
     load_bytecode "$temp_pir"
     \$P0 = subclass "Integer", "AInt"
-    \$P0 = new "AInt"
-    \$P1 = new 'Integer'
+    \$P0 = new ['AInt']
+    \$P1 = new ['Integer']
     set \$P0, 6
     set \$P1, 2
 
@@ -982,11 +982,11 @@
 .sub main :main
     newclass $P0, 'Foo'
 
-    $P0 = new 'Foo'
+    $P0 = new ['Foo']
 
     $P0.'bar'('Bar!')
 
-    $P1 = new 'String'
+    $P1 = new ['String']
     $P1 = "Bar!"
     $P0.'bar'($P1)
 
@@ -1003,9 +1003,9 @@
     .local pmc d, l, r, cl
     cl = newclass "AInt"
     addattribute cl, ".i"
-    d = new "AInt"
-    l = new "AInt"
-    r = new "AInt"
+    d = new ['AInt']
+    l = new ['AInt']
+    r = new ['AInt']
     .local pmc func
     .local string typ
     func = find_multi "add", "Float,Float,PMC"
@@ -1027,7 +1027,7 @@
 .end
 .namespace ["AInt"]
 .sub init :vtable :method
-    $P0 = new 'Integer'
+    $P0 = new ['Integer']
     setattribute self, ".i", $P0
 .end
 .sub set_integer_native :vtable :method
@@ -1096,13 +1096,13 @@
 
 pir_output_is( <<'CODE', <<'OUTPUT', "multisub w/o .HLL" );
 .sub main :main
-    $P0 = new 'Integer'
+    $P0 = new ['Integer']
     $P0 = 3
     $P9 = 'foo'($P0)
 
-    $P0 = new 'ResizablePMCArray'
+    $P0 = new ['ResizablePMCArray']
     push $P0, 4
-    $P1 = new 'String'
+    $P1 = new ['String']
     $P1 = 'hello'
     $P9 = 'foo'($P0, $P1)
 .end
@@ -1124,13 +1124,13 @@
 pir_output_is( <<'CODE', <<'OUTPUT', "multisub w/ .HLL, rt #39161" );
 .HLL 'Perl6'
 .sub main :main
-    $P0 = new 'Integer'
+    $P0 = new ['Integer']
     $P0 = 3
     $P9 = 'foo'($P0)
 
-    $P0 = new 'ResizablePMCArray'
+    $P0 = new ['ResizablePMCArray']
     push $P0, 4
-    $P1 = new 'String'
+    $P1 = new ['String']
     $P1 = 'hello'
     $P9 = 'foo'($P0, $P1)
 .end
@@ -1153,19 +1153,19 @@
 # see also 'rt #39173
 .sub main :main
     .local pmc int_pmc
-    int_pmc = new 'Integer'
+    int_pmc = new ['Integer']
     int_pmc = 3
 
     .local pmc args
-    args = new 'ResizablePMCArray'
+    args = new ['ResizablePMCArray']
     push args, int_pmc
     'foo'( args :flat )
 
     .local pmc string_pmc
-    string_pmc = new 'String'
+    string_pmc = new ['String']
     string_pmc = 'hello'
 
-    args = new 'ResizablePMCArray'
+    args = new ['ResizablePMCArray']
     push args, string_pmc
     'foo'( args :flat )
     end
@@ -1303,15 +1303,15 @@
 
 pir_output_is( <<'CODE', <<'OUTPUT', 'type mix with _' );
 .sub main :main
-    $P0 = new 'Integer'
+    $P0 = new ['Integer']
     $P0 = 3
     'foo'($P0)
     'foo'(2)
     'foo'("1")
-    $P0 = new 'String'
+    $P0 = new ['String']
     $P0 = "0"
     'foo'($P0)
-    $P0 = new 'Hash'
+    $P0 = new ['Hash']
     'foo'($P0)
 .end
 
@@ -1349,9 +1349,9 @@
 
 pir_output_is( <<'CODE', <<'OUTPUT', ':multi with :outer' );
 .sub main :main
-    new $P0, 'String'
+    new $P0, ['String']
     assign $P0, 'arg0'
-    new $P1, 'String'
+    new $P1, ['String']
     assign $P1, 'arg1'
 
     $P99 = "foo"($P0)

Modified: trunk/t/pmc/multisub.t
==============================================================================
--- trunk/t/pmc/multisub.t	(original)
+++ trunk/t/pmc/multisub.t	Sat Jan 10 23:30:07 2009
@@ -22,7 +22,7 @@
 
     plan( 8 )
 
-    $P0 = new 'MultiSub'
+    $P0 = new ['MultiSub']
     $I0 = defined $P0
     ok($I0, "create PMC")
 
@@ -39,15 +39,15 @@
     is($S0, "testing 42, goodbye", "int and string variant")
 
     ## Test handling of :flat parameters.
-    $P0 = new 'ResizablePMCArray'
+    $P0 = new ['ResizablePMCArray']
     push $P0, 42
     push $P0, "goodbye"
     $S0 = foo($P0 :flat)
     is($S0, "testing 42, goodbye", "Int and String :flat")
     ## Now try double :flat (regression test for RT #43869).
-    $P1 = new 'ResizablePMCArray'
+    $P1 = new ['ResizablePMCArray']
     push $P1, 42
-    $P2 = new 'ResizablePMCArray'
+    $P2 = new ['ResizablePMCArray']
     push $P2, "goodbye"
     $S0 = foo($P1 :flat, $P2 :flat)
     is($S0, "testing 42, goodbye", "Int and String double :flat")



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About