[EMAIL PROTECTED] wrote:
> [...] whose type is simultaneously C<str> and C<int>. 

Has any thought yet gone into the builtin Perl types and what they will 
be called in Perl 6?  Will there be a difference between the C<ref()> of 
something and the type(s) that C<isa()> returns?

In keeping with the lower case C<str> and C<int> examples above, will
the builtin Perl types ARRAY, HASH, SCALAR, etc., have lower case 
equivalents?  Is this an opportunity to replace the ill-named C<ARRAY>
with C<LIST>, or rather C<list>? (I'm sure I've heard Larry say that,
with hindsight, he wishes he had spelled 'ARRAY' as 'LIST', so I hope 
I'm not speaking out of line).  Could we also come up with a snappier 
name than C<SCALAR> to denote a single item reference?  Perhaps C<item>,
or just plain C<ref>?

Presumably, C<ref()> would continue to work as it always has, while C<isa()> 
returns the most specific type for a variable when called in scalar context,
or a list of the type and all supertypes when called in list context.

  var             ref      isa
  -------------------------------------------------
  \@foo           ARRAY    list / ref
  \%bar           HASH     hash / ref
  \$baz           SCALAR   item / ref 
  my Dog $spot    Dog      Dog / Animal / obj / ref
  "blah blah"     -        str
  3.14            -        num
  42              -        int / num

The only RFC I can find that's related is 224, where Damian talks about 
making ref() more magical.  http://dev.perl.org/rfc/224.pod

Any other thoughts on this floating around out there?

A

Reply via email to