Parsers, Interpreters, and YJIT with Kevin Newton
[00:05:09] Kevin gives us a brief introduction of himself.
[00:07:33] Kevin tells us about the grant he received, and he tells us about rubyfmt and SyntaxTree.
[00:12:27] We learn why you have to do plugins in your language and why Kevin is convinced we need a new parser for Ruby.
[00:16:43] Jason wonders if prettier was Kevin’s first introduction to parsers and how he got so knowledgeable about it.
[00:17:50] Find out about Kevin’s blog post on ripper, which he calls a “very confusing library.”
[00:19:08] With the work Kevin is doing with ripper, the work he’s doing with SyntaxTree, and the grant, Jason wonders if he sees SyntaxTree getting adopted by Ruby Core one day or live as a standalone project.
[00:20:58] We find out with SyntaxTree, if Kevin has a specific Ruby version he targets or because it’s built on ripper can he just keep going back to Ruby.
[00:22:37] Kevin talks about formatting and how there’s no configuration, and also tells us about Reek.
[00:26:55] Find out about a VS Code extension for SyntaxTree using Standard.
[00:31:33] We learn about Kevin’s experiences and thoughts on Sorbet and RBS.
[00:36:41] Kevin works on YJIT at Shopify, he tells us how his experience has been since joining the team, and what his average workday looks like.
[00:42:13] Find out the benefits of Porting C to Rust and if there are any effects running that in a production application.
[00:48:47] Chris wonders what’s some of the hardest stuff on YJIT coming up.
[00:53:40] Kevin shares three great books to read if you are interested in learning more about compilers or Ruby.
[00:55:29] Find out where you can follow Kevin online.
Panelists:
Jason Charnes
Chris Oliver
Andrew Mason
Guest:
Kevin Newton
Sponsor:
Links:
Formatting Ruby: Part 1- How ripper works (Kevin Newton Blog)
Crafting Interpreters by Robert Nystrom