note
swiftone
Just thought I'd add my impressions to the pile.
<p>
Contextually, on the whole I'm looking forward to Perl6.
<ul>
<li>I'm not a fan of the dot operator. I find it hard to "pick out" when scanning code. The arrow operator is more intuitive to me. Oh well.
<li>I'm leery of the "prompts" operation. That seems like it should either be dropped as bloat, or a more vague property, such as a hook called when inputting/outputting that we can fill in our own routine for. I'm very interested to see how efficiency is maintained with this.
<li>I'm very happy to see subroutine argument passing done better. I think the rather kludgy perl5 method leads to more global variables and less maintainable code. I think this is the most significant improvement of all.
<li>I'm a little confused by the properties. Is "<code>%node{VALUE} = $val is Found(0);</code>" identical to <code>$val.Found=0; %node{VALUE}=$val;</code>"?
<li>Am I the only one finding the <b>is</b> syntax confusing? I think it has great potential (Perl has always impressed me by using English), but I'm a bit perplexed...
<li>Along the same note, I'm a little disappointed with <code>$tree is rw</code> and the <code>prop</code> accessor. Is there a reason we can't give these English terms? Saving keystrokes is all well and good, but not at the expense of readability. <b>btw</b> may not have been the ideal choice, but something linguisticly like that appeals to me.
<li><code>return 0 is true;</code> Obfuscation will love this one :) Only from the minds of perl programmers. (said with pride)
<li>I'm very interested in finding out the string concat operator and the array slice notation. Clarity will win a lot of points with me. (Maybe we should make perl parsers keel over and die by using ++ for the string concat?)
<li>If the sigil is no longer helping to determine context, does that mean we are going to have an increase in <code>@{[$foo->bar()]}</code> uglyness?
<li>Damian mentions how <code>@{$zref}{'b','c'};</code> evaluates under perl5, but not the equivilent under perl6. I much prefered the idea of one name for all types of a variable (i.e. $foo and @foo are the same variable in different contexts), with the sigil indicating return value, but I guess it's my own fault for not participating :)
</ul>
80736
80736