Episode 8: The New Parser episode artwork

EPISODE · Mar 1, 2024 · 1H 42M

Episode 8: The New Parser

from core.py · host Pablo Galindo and Łukasz Langa

The suspense was killing us! OK, the old parser was then... but what about NOW? We're finally answering this question... in more detail than you dared to ask for. PEG, memoization, funky secrets, and how a certain auto-formatter self-inflicted an existential crisis on itself. It's all there, told in barely 100 minutes! Can you believe it? # Timestamps (00:00:00)  INTRO (00:00:54)  PART 1: What even is PEG? (00:04:02)  You can't prove anything! (00:05:03)  What's a "parsing expression"? (00:08:23)  Our old LL1 parser wasn't doing its job (00:09:37)  "Soft keywords" in LL1: A Horror Story (00:13:16)  PART 2: How PEG was adopted by Python (00:17:10)  Why not LALR? (00:22:11)  The PEG paper wasn't enough either, if we're honest (00:26:26)  Less obvious advantages of the new parser (00:31:28)  Black is stuck with LL1, can it cope? (00:36:24)  Hedging against Łukasz, the bringer of doom (00:41:14)  PART 3: How does the PEG parser of CPython work? (00:44:30)  Pedantic Pablo on "exponential" (00:45:14)  Fresh news from literally yesterday last week (00:46:39)  Pedantic Pablo on "infinite" (00:47:32)  Memoization in the PEG parser (00:50:41)  Parse once, and if it fails, try again! (00:52:14)  How to model a grammar of programming mistakes? (00:56:36)  Why is there C code in my grammar file? (00:59:57)  Bro, do you even lift? (01:01:45)  How soft keywords work today: it's not free lunch (01:04:29)  Funky grammar secrets (01:09:07)  PART 4: PR OF THE WEEK (01:09:15)  audioop.c license shenanigans (01:14:56)  The secret profiler inside CPython (tests) (01:22:45)  PART 5: WHAT'S GOING ON IN CPYTHON? (01:23:30)  Free-threading changes (01:28:15)  Faster Python changes (01:35:39)  End of an era: docs get rid of Python 2 migration info (01:36:45)  Python --help output is now nicer (01:38:43) SQLite as a dbm backend (01:41:08)  OUTRO

The suspense was killing us! OK, the old parser was then... but what about NOW? We're finally answering this question... in more detail than you dared to ask for. PEG, memoization, funky secrets, and how a certain auto-formatter self-inflicted an existential crisis on itself. It's all there, told in barely 100 minutes! Can you believe it? # Timestamps (00:00:00)  INTRO (00:00:54)  PART 1: What even is PEG? (00:04:02)  You can't prove anything! (00:05:03)  What's a "parsing expression"? (00:08:23)  Our old LL1 parser wasn't doing its job (00:09:37)  "Soft keywords" in LL1: A Horror Story (00:13:16)  PART 2: How PEG was adopted by Python (00:17:10)  Why not LALR? (00:22:11)  The PEG paper wasn't enough either, if we're honest (00:26:26)  Less obvious advantages of the new parser (00:31:28)  Black is stuck with LL1, can it cope? (00:36:24)  Hedging against Łukasz, the bringer of doom (00:41:14)  PART 3: How does the PEG parser of CPython work? (00:44:30)  Pedantic Pablo on "exponential" (00:45:14)  Fresh news from literally yesterday last week (00:46:39)  Pedantic Pablo on "infinite" (00:47:32)  Memoization in the PEG parser (00:50:41)  Parse once, and if it fails, try again! (00:52:14)  How to model a grammar of programming mistakes? (00:56:36)  Why is there C code in my grammar file? (00:59:57)  Bro, do you even lift? (01:01:45)  How soft keywords work today: it's not free lunch (01:04:29)  Funky grammar secrets (01:09:07)  PART 4: PR OF THE WEEK (01:09:15)  audioop.c license shenanigans (01:14:56)  The secret profiler inside CPython (tests) (01:22:45)  PART 5: WHAT'S GOING ON IN CPYTHON? (01:23:30)  Free-threading changes (01:28:15)  Faster Python changes (01:35:39)  End of an era: docs get rid of Python 2 migration info (01:36:45)  Python --help output is now nicer (01:38:43) SQLite as a dbm backend (01:41:08)  OUTRO

NOW PLAYING

Episode 8: The New Parser

0:00 1:42:36

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

Rich Dad's Guide to Investing II Robert T. Kiyosaki II Full Audiobook II Robert T. Kiyosaki Investing means different things to different people… and there is a huge difference between passive investing and becoming an active, engaged investor. Rich Dad’s Guide to Investing, one of the three core titles in the Rich Dad Series, covers the basic rules of investing, how to reduce your investment risk, how to convert your earned income into passive income… plus Rich Dad’s 10 Investor Controls.The Rich Dad philosophy makes a key distinction between managing your money and growing it… and understanding key principles of investing is the first step toward creating and growing wealth. This book delivers guidance, not guarantees, to help anyone begin the process of becoming an active investor on the road to financial freedom. Growth Triggers Luis Diaz Discover how to use your podcast to generate leads, sales, and influence in any market.On this show Luis shares his best tested and proven secrets, tips, and strategies from launching over 300 podcasts in over a dozen different niches and generating over 59 Million Downloads for his clients.Learn how to increase your podcast listenership, create multiple new revenue streams with your podcast, sell more of your core offer and build a show that gives you leverage and authority in your space. From picking the right monetization strategy for your podcast to learning how to position your podcast in a crowded market on Apple and Spotify; this is show is the ultimate marketing and sales resource for online business owners who want to know what works with podcasting.Get in touch over on Instagram <a target="_blank" rel="noopener noreferrer nofollow" class="link" href="https://www.instagram.com/luisr The Soundless Flame Its-all-here A flame that has no fire A song without a sound I Am the deep desire The stillness all around Reveal the core, O Spirit The place no thought can claim Before all worlds inherit I Am the soundless flame

Frequently Asked Questions

How long is this episode of core.py?

This episode is 1 hour and 42 minutes long.

When was this core.py episode published?

This episode was published on March 1, 2024.

What is this episode about?

The suspense was killing us! OK, the old parser was then... but what about NOW? We're finally answering this question... in more detail than you dared to ask for. PEG, memoization, funky secrets, and how a certain auto-formatter self-inflicted an...

Can I download this core.py episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!