Parsability involves being able to read perl code;
Parsing is the activity of assigning meaning to code. And since it's impossible to predict the meaning Perl will assign to code in some circumstances, the parser is non-determinisitc.
Even if you don't buy the conclusion, it's the premise that's interesting, and the problem faced by those who recently posted on p5p (if that's the project to which you were referring).
| [reply] |
I'll have to get back to you on the first paragraph. The 5 minutes I have aren't enough
Please keep reading about non-determinism.
Any suggested reference?
I thought you were saying perl was not parsable.
I never said that. I know that Perl cannot be parsed without executing arbitrary Perl code, but I never even said that I believed that. I just answered your questions.
| [reply] |
This is true of any language, though. Consider a function pointer in C. You can prototype all day long, but what if your prototype leads to a function pointer that gets borked partway through and you get a dump? What about NullPointerException in Java? This is all halting problem material, too. This isn't a perl issue. Part of the turing machine in models of computation is the tape and the read head; nowhere does it say that the Turing machine is omniscient of the entire input stream.
Am I the only one unimpressed?
As for reference material, I often wrongly assume everyone went through comp sci. I did undergrad and grad modcomp from two different- but now out of print- textbooks. There are different books now, such as the one by Michael Sipser (Introduction to the Theory of Computation) that should cover computability theory, turing machines, and automata.
If it matters any, I remember /facepalm'ing many times through both of those courses at how obvious and unimpressive it was, just formalizations and proofs of what you already (probably) know.
| [reply] |
but what if your prototype leads to a function pointer that gets borked partway through
Sounds like you're talking about bugs, resource problems and other real-world considerations. Those are implementation issues, not algorithmic issues, and determinism is a property of algorithms.
So yes, those are irrelevant. I never said they were.
As for reference material, I often wrongly assume everyone went through comp sci.
I have a B.CS. The course in which this was taught had a very boring teacher. I needed a booster.
| [reply] |