[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