My comments on the article:
typed lexicals are great. they will reduce memory and increase speed. And allow Perl to even more powerfully bridge the gap between shell and C that perl was designed to.
Damian sayeth like most other global punctuation variables, $/ has been banished from Perl 6
I guess that means bye-bye to a lot of obfuscated Perl code. The globals really never affect most people's lives anway, except $|
Damian sayeth (in Perl 6 -> is spelled .)
Hmm, we have tons of code using ->. Also, the arrow stands out better. Whats purpose of this change? I don't like it.
Damian sayeth The call to $node.Found would normally be a method call (in Perl 6 -> is spelled .). But since $node is just a regular unblessed hash, there is no Found method to call. So Perl treats the request as a property query instead and returns (an alias to) the corresponding property.
This is an interesting fall-through property. But does it mean that execution time increases because it starts making run-time checks for methods before doing a hash lookup?
Damian sayeth But then the serpent of OO entered the garden, and offered Perlkind the bitter fruit of subroutine and method calls:
print $subref->();
print $objref->method();
Now the leading $ no longer indicated the type of value returned. And in beginners' Perl classes across the land there arose a great wailing and a gnashing of teeth.
Wow, for all my efforts to detect inconsistencies in Perl, it never occurred to me that the dollar sign should by arguments of context imply a scalar return value. It was just so natural to use I never thought of how it broke that rule.
I dont believe Damian mentioned how method calls
would imply the type of their return values did he? Nothing like
@objref->method()
is on the horizon is it?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|