Parsing Perl Without Perl: A Rust LSP for Perl
Steven Zimmerman will give a talk about the Rust Perl Language Server + parser toolkit that he's developed.
Perl parses Perl by running Perl. That’s the trick nobody else can pull off, and it’s why Perl tooling either leans on a runtime (with the install friction and latency that implies) or gives up on the hard cases.
It started by trying to build a tree-sitter-compatible AST for Perl in Rust after tree-sitter-perl kept breaking our internal AST context-packing tooling. Pest looked like the obvious way to get there. That lasted one week before it hit a backtracking wall. A year and 600,000 lines of Rust later, we had most of a Perl compiler front-end: lexer, parser, AST, scope resolution, symbol tables, method resolution order. Everything Perl does at parse time. Nothing it does at runtime.
This talk walks through what broke, what worked, and where honest static analysis stops on a language that can rewrite itself at runtime.
Native binary. No Perl install required for IDE features.
See more on github here: https://github.com/EffortlessMetrics/perl-lsp
Steven Zimmerman, CPA. Former CFO in PE-backed companies and former Senior Editor at XDA. Builds verification infrastructure for agentic development, focused on trusted change and protecting senior developer attention.
This will be a Zoom session that will be uploaded to Youtube afterwards.