Three Rubyists having conversations and interviewing others about Ruby and web development.

Parsers, Interpreters, and YJIT with Kevin Newton

March 18, 2022 0:56:59 82.08 MB Downloads: 0

[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:

Hook Relay



Links:

Ruby Radar Newsletter

Ruby Radar Twitter

Kevin Newton Twitter

Kevin Newton GitHub

Kevin Newton Website

Rufo (Ruby formatter)

Rubyfmt (Ruby format)

SyntaxTree

Prettier for Ruby

Formatting Ruby: Part 1- How ripper works (Kevin Newton Blog)

Reek

Vscode-syntax-tree

Steep-Gradual Typing for Ruby

Sorbet

TypeProf

Ruby Sorbet for VS Code

Crafting Interpreters by Robert Nystrom

Writing An Interpreter In Go by Thorsten Ball

Writing A Compiler In Go by Thorsten Ball