RubyConf 2023 - The Future of Understanding Ruby Code by Kevin Newton

Discover the future of understanding Ruby code with Kevin Newton's talk at RubyConf 2023. Explore the challenges of Ruby's grammar, the need for named fields, and the introduction of Prism, a new parser and analysis tool.

Key takeaways
  • Ruby’s grammar is complex and artificial barriers to contribution in the ecosystem should be removed.
  • The CRuby parser is a handwritten, recursive descent parser, which provides flexibility and maintainability.
  • The parser generator used by some Ruby tools is a context-free parser generator, which can be problematic.
  • The IR (Intermediate Representation) level in Ruby is critical for error handling and code analysis.
  • Named fields are essential for better error handling and code analysis.
  • Feedback from the ECM (Error-idden Code Monkey) project highlights the importance of named fields.
  • The Talk gives an overview of the existing state of Ruby parsing and analysis tools, including limited error handling and code analysis capabilities.
  • The Path to a Better Ruby analysis experience includes:
    • Improving error handling
    • Providing named fields
    • Creating a contributor community around Prism
    • Making it easy to contribute to the ecosystem
  • The speaker argues that the complexity of the Ruby grammar should not be a barrier to entry for contributors.
  • It is essential to reduce the effort it takes to maintain and update parsers.
  • The talk introduces Prism, a new parser and analysis tool that aims to address these challenges and provide a better Ruby analysis experience.
  • Prism aims to be a single, unified parser for Ruby, making it easy to contribute and maintain.
  • The talk concludes with a discussion of the next steps, including working on Prism and building a community around it.