At 5:29 PM +0100 8/28/02, Nicholas Clark wrote:
>On Wed, Aug 28, 2002 at 12:17:55PM -0400, Dan Sugalski wrote:
>>  At 10:36 AM +0200 8/28/02, [EMAIL PROTECTED] wrote:
>>  >  >> Will there be automatic calling of the deserialization method
>>  >>>  for objects, so that code like this DWIMs...
>>  >
>>  >>>   my Date $bday = 'June 25, 2002';
>>  >
>>  >>  Err... what do you mean it to do?
>>  >
>>  >Wow, this is nice. He means (I think) that this will be translated into
>>  >
>>  >my Date $bday = Date->new('June 25, 2002');
>>
>>  That's really unlikely. More likely what'll happen is:
>>
>>     my Date $bday;
>>     $bday = 'June 25, 2002';
>>
>>  and it'll be up to $bday's string assignment code to decide what to
>>  do when handed a string that looks like a date.
>
>op wise, how is that different from the original suggestion of
>
>     my Date $bday = 'June 25, 2002';

It isn't. It was mostly to stem the followup "eight zillion flavors 
of new" cascade that was sure to follow. :)

>  > That should work OK for a variety of reasons. $bday is strongly typed
>>  since you told perl what type it was in the my declaration. Date can
>>  also override string assignment, thus Doing The Right Thing (pitching
>>  a fit or taking a date) when you assign to it.
>>
>>  I can see downsides to it, though--it means you lose the compile-time
>>  type checking, since just because we're getting the wrong type
>>  doesn't mean it's really an error. OTOH it's not like we have strong
>>  compile-time type checking now...
>
>If the compiler were able to see that my Date $bday = 'June 25, 2002';
>is one statement that both types $bday as Date, and then assigns a constant
>to it, is it possible to do the conversion of that constant to a constant
>$bday object at compile time? (and hence get compile time checking)
>Without affecting general run time behaviour.

That's possible, yes. We could construct the object at compiletime 
and store a real serialized version in the bytecode, and deserialize 
at execution time. We probably will do that, though maybe not for the 
first version of the compilers.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to