Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Perl Cannot Be Parsed: A Formal Proof

by zentara (Archbishop)
on Jan 21, 2008 at 17:46 UTC ( #663406=note: print w/replies, xml ) Need Help??

in reply to Perl Cannot Be Parsed: A Formal Proof

That's some mighty fine left brain thinking there( especially for a Monday morning ), but does it in anyway affect any practical aspect of Perl? Like can it be used to show that Perl is more or less reliable/secure? This isn't a criticism of your node, but I left college 35 years ago, and this sort of analysis seems very ivory-tower-ish to me now. It's sort of like saying "one cannot prove self-existence". Is the fact that Perl cannot parse itself a good or bad thing, or can other languages do it? Does that make them superior? Should it be a design criteria for Perl6? What am I missing?

I'm not really a human, but I play one on earth. Cogito ergo sum a bum
  • Comment on Re: Perl Cannot Be Parsed: A Formal Proof

Replies are listed 'Best First'.
Re^2: Perl Cannot Be Parsed: A Formal Proof
by moritz (Cardinal) on Jan 21, 2008 at 17:57 UTC
    As Jeffrey pointed out it means that you can't reliably parse perl code without executing it.

    This means that things like static code analysis, code transformation and syntax hilighting will never be reliable.

    This is a drawback indeed, but on the other hand it means that modules can extend Perl's syntax, and that other nifty stuff can be accomplished.

    So I understand this node as a proof of a property that is seldom fully understood.

Re^2: Perl Cannot Be Parsed: A Formal Proof
by BrowserUk (Pope) on Jan 21, 2008 at 18:47 UTC
      I don't think the fact that Perl is dynamic has anything to do with it. Lisp (of any dialect) is a dynamic language and is trivially easy to parse. The grammar of the language and its type system are two entirely different things.
Re^2: Perl Cannot Be Parsed: A Formal Proof
by Anonymous Monk on Jan 21, 2008 at 18:03 UTC
    It means Perl is alive, ALIVE!!
      You every try parsing a CAT? Hell, dogs just go right in the parser with very little coaxing -- but cats? Oh man! You need thick rubber gloves and a spotter (usually a dog).
        It helps if you have a map of the cat.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://663406]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2021-05-07 07:50 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (87 votes). Check out past polls.