note
adamk
<i>I suspect he also knew the business about rand(). But with his many hours of real life experience trying to statically parse Perl, he focused on the stronger proof -- the one that would give him the most information about what he was up against in creating PPI.</i><br>
<br>
You pretty much nailed it exactly.<br>
<br>
From a practical perspective there's about 5-10 things that, in various combinations, make Perl impossible to parse.<br>
<br>
However, there's a big difference between what we believe and what we can prove.<br>
<br>
And so from the perspective of knowing <b>absolutely</b> that Perl 5 can't be parsed, the Halting Problem approach was by far the most straight forward way to do it (at least to a layman like me).<br>
<br>
This realization let me finally put the possibility of a complete parser out of my mind, and once I wasn't distracted by completeness any more, I had the chance to evaluate and actually define what "good enough" would mean for a "Perl 5 parser".<br>
<br>
And that perspective on the problem was the one that took the code in the direction of the working solution.
663393
663480