note
raiph
<b>TL;DR</b> Based on an audit, I estimate about 100 of the 120+ P6 advent articles of the last 5 years remain 100% current; about 5 to 10 are fundamentally broken; most of the remainder have only trivial problems.
<p>
<b>Update</b> David Warring has begun working his way through the advent posts creating tests for the code in them
<hr>
<p>
<i>How many years of advent articles no longer work because they only ran on Pugs or Necza or Parrot and those are now broken?</i>
<p>
(Fwiw I think some contributors to these projects would say they're not broken.)
<p>
Using the P6 advent search box to search thru the 5 years worth of advent articles:
<p>
<ul>
<li>3 articles match "Pugs". None of the articles in which Pugs is mentioned have Pugs specific code, so no breakage.
<p>
<li>21 articles match "Niecza". There's a "contributing to P6" article that focuses on Niecza and C# code. Let's call that fundamentally broken. Two articles (tetris and the 2011 mandelbrot) use CLR libraries. The P6 code itself looks valid, so these articles might work fine if/when there's a Rakudo/.NET, but I'll call these fundamentally broken. The rest don't contain Niecza specific code or instructions.
<p>
<li>15 articles match "Parrot". The two articles Reini Urban wrote last year are Parrot specific (threads, and low level encoding details). The rest don't contain Parrot specific code or instructions.
</ul>
<p>
<hr>
<p>
<i>How many no longer run because the design of Perl-6 changed?</i>
<p>
I'm not currently willing to go thru all 100+ articles. I've gone thru the first 10 articles for 2009 and 2011 and entered the examples in a current Rakudo. Afaict, all of the 2009 articles remain 100% valid and two of the 2011 articles generate a message (both trivial to fix):
<p>
<ul>
<li>The [http://perl6advent.wordpress.com/2011/12/04/traits-meta-data-with-character/|2011 day 4 article "Traits — Meta Data With Character"] led to a deprecated message:
<p>
<code>
Saw 1 call to deprecated code during execution.
================================================
Method exists (from EnumMap) called at:
/tmp/pssDL_7axD, line 1
Please use the :exists adverb instead.
</code>
<p>
This year we have advents covering [http://perl6advent.wordpress.com/2013/12/04/spec-changes-and-operational-fallout/|the deprecation message mechanism], [http://perl6advent.wordpress.com/2013/12/10/day-10-adverbly-adverby-adverbs/|adverbs in general] and [http://perl6advent.wordpress.com/2013/12/12/day-12-slicing-with-adverbs-the-only-way/|the :exists adverb].
<p>
<li>The [http://perl6advent.wordpress.com/2011/12/07/grammarprofiler/|2011 day 7 article "Adventures in writing a simple grammar profiler"] led to this message:
<p>
<code>
Obsolete use of | or \ with sigil on param $args
</code>
<p>
Nowadays you have to use terms, not sigiled variables, eg writing <code>|args</code> rather than <code>|$args</code>.
<p>
</ul>
<p>
<hr>
<p>
<i>How many no longer run because they use some library that no longer runs?</i>
<p>
Other than the CLR libraries used by Niecza, I didn't see any articles with this problem in the sampling I went thru.
<p>
<div class="pmsig"><div class="pmsig-698487">
<p>
<hr>
<p>
»ö« <sup>. o O ( "[id://1041369|the celebrity tell-all of the Perl-6 cult]?" )</sup>
</div></div>
1040306
1067845