note
frag
<p>Unfortunately, I arrived late, so I missed a lot of the
things that [petdance|Andy] lists here. (Fortunately, I
attended the OO and [cpan://Parse::RecDescent|parsing] classes that he taught. I highly recommend his classes; if you have [http://www.yetanother.org/damian/events.html|an opportunity to take any of them], don't balk at the expense.)
<p>Some thoughts:
<ul>
<li>He discussed Perl Aikido: the gentle art of writing modules that helps other code to do the right thing. Because if it doesn't, it breaks.
<p></p>
<li>Concerning Perl 6 and OO: You may have heard that '<tt>-></tt>' will be replaced by '<tt>.</tt>', the dot. I <em>really</em> don't like the idea, primarily for readability and semantic connotations, but the fact that it comes from C++, Java and VB doesn't exactly improve my opinion of it. Anyway, Damian convinced me that a) I could (reluctantly) learn to live with it, b) not only should there be a pragma like "<tt>use syntax 'Perl 5';</tt>" but I can always write a [cpan://Filter::Simple|Filter] so that my own code can use arrows if I really can't live without them, c) Larry's mind is set on this one, so no whining.
<p></p>
<li>Some of the Perl 6 attribute/function names currently under consideration left a lot to be desired, although I've blanked out the memory of the worst ones. But unlike the <tt>.</tt>, these are still subject to change.
<p></p>
<li>
There will be an honest-to-God switch statement in Perl 6, but probably won't use C's switch-case-break syntax, and there was some grumbling about the possible alternatives. Fallthroughs would have to be explicitly specified, which I thought would be a good thing.
<p></p>
<li>I was first put off by them, but now I'm convinced that Attributes (or Properties) will be a boon. He said to just think of them as adjectives that modify a noun (i.e. a variable or code). I'm especially looking forward to
<code>
sub getdata : Exportable {
}
</code>
...which Damian said is being developed by someone who'll be putting it on CPAN RSN.
</ul>
<p>
-- Frag.
91105
91105