|
|
|
Your skill will accomplish what the force of many cannot |
|
| PerlMonks |
Re^2: Perl Cannot Be Parsed: A Formal Proofby Jeffrey Kegler (Friar) |
| on Aug 15, 2009 at 01:53 UTC ( #788801=note: print w/ replies, xml ) | Need Help?? |
|
In a series of three articles in The Perl Review, now available online, I laid this proof out much more carefully, in three different versions. The most bullet-proof version derives the result directly from Rice's Theorem. You are right that the proof would not go through if the only way of establishing a prototype for a Perl function was via a function definition. As I said in Perl Review (4.3, p. 28): I must show that I can use Turing-complete Perl code to determine the prototype of the dunno subroutine at compile time. A function definition won’t work. Summarizing from that article, there are at least two ways that the prototype of a subroutine can be established using Turing-complete Perl code. One is with symbol table manipulation, for example: BEGIN { *dunno = sub () { 3 } }A second way is to put the function definition into a string which is eval'd in a BEGIN block. I believe clever monks will be able to think of others.
In Section
Meditations
|
|
||||||||||||||||||||