Some handwaving in overloading mitigates this. But
I see the issues getting worse in Perl6.
I'm certainly no expert on Perl6, but my understanding
of this from the literature I've seen is that:
- All things are objects of some class...
- ...even primative types/classes like "scalar" and "array".
- All operators can be defined on a per class basis...
- ...even primative types/classes like "scalar" and "array".
Which when you add it all up, means that clases like
"scalar" and "array" can define the assignment operator
to make a new copy of the rvalue and return that copy,
while the assignment operator for whatever Abstract Base
class all user defined classes subclass by default will
probably have the assignment operator defined to return
a reference to the rvalue.
(Assuming of course, that the Perl6 design folks want
assignment of scalars/arrays/objects to work exactly
the same way it does in Perl5 -- and even if they don't
I'm sure Damian will write a
"copyprmativesbyvalue"
pragama that people can use.)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.