During the past month, I've been dropping the following clues in #perl6 about today's big announcement:
Here, without further delay, is the announcement:
Yes, it is a contest. It commences today, and stays open until 2011-01-14 (that is, for five weeks). Registration is open for two weeks, starting today. Just send an email to firstname.lastname@example.org — saying "sign me up!" or even sending your Amazon wishlist so I'll know which books to buy you if you win.
You might be curious about what constitutes winning. Here's an extract from the file
Since "code quality" is a slightly subjective measure, let me give a few hints of what I'll be looking for: * Readability. * Consistency. * Clarity of intent. * Algorithmic efficiency. * Idiomatic use of Perl 6. * Brevity. In short, what I'm looking for is top-quality code. That's how you win.
Here are the five tasks. Write Perl 6 programs to...
- Find the optimal way to multiply a chain of matrices. (zip file)
- Find out whether a given point is inside a given (simple) polygon. (zip file)
- Find out whether a given integer is contained inside a given set of integer ranges. (zip file)
- Pick the last pair of stones in a game of picking pairs of stones. (zip file)
- Find the longest common substring among two long strings. (zip file)
I've chosen the problems so that they're easy to explain, but allow contestants quite a bit of freedom to play around with various solutions. See the individual zip files for further instructions.
If you're curious about the details of the contest, I recommend the files
WINNING, all three of which also appear in the zip files.
The rest is up to you. Now dazzle me with your submissions!