3 ms·
> If I recall correctly, the syntax and semantics of Perl are intertwined to the point that parsing Perl without also evaluating is provably undecidable. Perl
by Izkata 2y ago
> If I recall correctly, the syntax and semantics of Perl are intertwined to the point that parsing Perl without also evaluating is provably undecidable.
Perl code that is syntactically correct only on Fridays: https://news.ycombinator.com/item?id=30359309 https://news.ycombinator.com/item?id=30359309
(Has to do with how subroutine prototypes change how the code parsed where the subroutine is called)
- saghm 2y agoThat's hilarious, somehow I had never seen that one before! I love how it immediately makes it much more visceral how wild things can get without needing to get into the weeds of how programming languages work.
- EuAndreh 2y agoNot that big of a deal. Lisp has a drastically simpler syntax, but can behave is the same way. This thing that is different from other languages is having a static lexer and parser, versus having a fynamic one. In Perl you modify it indirectly, and in Lisp you can modify it directly. The fact that this happens has nothing to do with Perl's syntax complexity, but everything to do with dynamism in parsing.