From: Leopold Toetsch <[EMAIL PROTECTED]>
   Date: Wed, 12 Jul 2006 21:15:44 +0200

   On Wed, Jul 12, 2006 at 01:27:24PM -0500, Patrick R. Michaud wrote:
   > The perl6 compiler has a custom string type, currently called 
   > "Perl6Str".  What's the canonically correct mechanism for creating 
   > an object of that type?
   > 
   >     $P0 = new 'Perl6Str'
   >     $P0 = new .Perl6Str
   >     $P0 = new [ 'Perl6Str' ]
   > 
   > At different stages of Parrot development I've seen different 
   > answers to this question, so it'd be helpful to know what's "correct".

   Correct are all three, but . . .

   2) only works, *if* the lib, which defines that type is already
      loaded (via :immediate/loadlib or .loadlib), because it's
      translated to new_p_ic, i.e. the type name is converted to
      a type number at compile time, which speeds up run time
      object creation.

So the type is bound to a number in the .pbc?  Isn't this dangerous for
types that are not built in?  Couldn't this number mean something
different if libraries happen to get loaded in a different order?

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

Reply via email to