"Perl 6 Influence" talk wanted for YAPC::Europe

Hi,

I would be very happy if somebody could prepare a talk about Perl 6 influence and give it at YAPC::Europe 2011. The language ideas appeared more than 10 years ago and during that time lots of brilliant things landed in its specification.

I wonder which features, trends and directions initially proposed for Perl 6 appeared in other programming languages. Classical example is a 'say' operator which came from Perl 6 to Perl 5. But what about PHP, Python and Ruby. Or JavaScript 6, for example?

Or something more hidden, like .NET and JVM inspired by Parrot VM :-)

If you feel you can do such talk, please let us know: mail@yapceurope.lv. All the speakers attend the conference free of charge and become famous and recognizable people.

Alternatively, could you also comment with post with random pieces of such influence if you know about it. Thank you!

1 Comment

Named capture groups in regular expressions was a Perl 6 idea that was first implemented in Python. Since the Perl 6 regex syntax is drastically different from PCRE-style, Python created a new syntax for named captures. The PCRE library then implemented it using this syntax. Microsoft's .NET regex engine followed, but decided to implement it in an entirely different syntax. Oh, Microsoft! I must say though, their syntax is an improvement over that of Python. Perl 5 followed and decided to go with a slight variation of the .NET syntax, presumably because it was already much more Perlish and fits in better with the existing syntax but the change fits even better than the exact .NET syntax. Perl 5, however, does support the Python and .NET variations as well.


Here are examples of defining and backreferencing named capture groups in all of these languages.


Perl 6:
$<NAME>=PATTERN
$<NAME>



Python/PCRE:
(?P<NAME>PATTERN)
(?P=NAME)



.NET:
(?<NAME>PATTERN)
\k<NAME>



Perl 5:
(?<NAME>PATTERN)
\g{NAME}

Leave a comment

About Andrew Shitov

user-pic I blog about Perl.