So I got a msg from Ovid asking if I was going to the Conway talk at OGI later in the day. I panic, run around frantically and get myself over there in time. phew! Major ++ to Ovid for alerting me. (And now I know I've dropped myself off perlmongers again. Hurm.)

To echo Conway on Quantum::Superpositions and Conway's Extreme Perl talk, if you have the chance to attend a lecture by Damian Conway "Take it!" It's really kick started my brain again.

Most of the lecture was contained in Perl6.v2.pdf though that is an update to Perl6.pdf which still contains much of the info. You may need to switch back and forth to get everything.
Note all the links on the last page of either. Lots of good stuff there.

I took a lot from this lecture. A lot that had to do with Perl, but some only partially. A nice thought on Kwalitee Control which I think I've now paraphrased into "You can measure how bad something is, but it's hard to measure how good it is." Hopefully, merlyn will post his very strict pragma.

Now at the beginning of the lecture, Damian did say everything was in the Perl6 pdf. Not strictly true, most of the dry stuff is contained there. For instance in the timeline, it doesn't mention beer being invented and that making perlmongers possible. By the the time you read this, he may change "C++ released" to "C++ savagely mauls keepers and escapes"

One thing that was repeated is that a lot of what Perl6 is going to do is already there for Perl5 as a module. However, Perl6 will be faster. And Perl5 is predicted to be viable for at least 5 more years, if not 10. It looks like the mechanism that will allow Perl5 to be run in Perl6 can be extended to other languages as well.

Stuff that made me perk up:

  • Allowing patterns to match incomplete data. Would wait for more of the input stream.
  • "Lexically scoped compile-time selection of parser" which would make use mode quotewords; # someone write it even easier.
  • Switch statement. Most of which is in the Switch module of which 2.04 is now out as of July 30.
  • Perl internals will have more documentation than LotR quotes.
  • Larry wants to see the lexical parser just take one pass at compiling the perl code instead of the probability model of today.
  • Why '.' instead of "->"? No shift key involved. (just a theory.) Concat '.' becomes binary '~' and bit complement becomes unary '^'
  • scalar may go bye as keyword. That should make merlyn happy. :)
  • Overloading (s)printf for your own formatting.
  • format being moved into own module.
  • Threads based on i-threads not p-threads
  • Look at New Sigil Syntax in pdfs
  • Ability of filehandles to be set to "autochomp"
  • Large integers
  • Artistic License 2.0
  • Coroutines
  • Regexes becoming even more powerful
  • Built in types will help compiler to opimize
    (A Binary doesn't need to be treated as a string for example
  • Code snippets that will work as expected in Perl 6 possibly:

  •  (@a, @b) = (@x, @y);
  •  if ( 1 < $x < 10 )
  •  ($x, $y, $z) = <$file_handle> #new syntax for filehandles
  • The filehandle one will work kind of under Perl5, it will suck in all of the file and then hand back the first three lines. Under Perl6 it will just read the first 3 lines.

    One item in the pdf needs correcting
    http://yetanother.org/~damian/Perl5+i is at http://www.yetanother.org/damian/Perl5+i

    Update:

  • Fixed some grammer and spelling.
  • Decided to throw extra info in as well.

  • In reply to Damian Conway Talk from July 31, 2001 by lemming

    Title:
    Use:  <p> text here (a paragraph) </p>
    and:  <code> code here </code>
    to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.