Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Plan towards Ruby 3 Types We introduce Ruby Type Profiler which is one of the proposals for Ruby 3’s static analysis. As far as we know, it is only one approach to statically analyze a non-type-annotated program for MRI. We aim to realize a static analysis tool that imposes no change of the great Ruby programming experience. Yusuke Endoh - https://twitter.com/mametter EuRuKo 2019
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this talk presented at Euruko 2019, Yusuke Endoh, a full-time Ruby committer at Cookpad, explores the plans for implementing static types in Ruby 3, primarily focusing on the development of a tool called Type Profiler. The motivation behind Ruby 3's static type feature is to enhance the programming experience while also identifying potential type bugs without imposing the need for type annotations on developers. He emphasizes that maintaining the excellent Ruby programming experience is a priority for the Ruby development community. Key points discussed include: - **Ruby 3 Goals**: The main goals for Ruby 3 are performance improvement, enhanced concurrency, and the introduction of static analysis through type checking. - **Static Analysis Overview**: Endoh introduces a three-pronged approach to static type analysis, which includes: - A standardized type signature format that resembles Ruby but is used to indicate method types. - A Level 1 type checker that infers types without requiring explicit signatures and identifies potential bugs. - A Level 2 type checker that verifies code against defined signatures, facilitating deeper error checking but requiring more complexity. - **Type Profiler**: The Type Profiler is an experimental tool that will allow developers to analyze Ruby code statically. It uses abstract interpretation techniques to evaluate method types and identify potential errors. - **Implementation Challenges**: Endoh discusses challenges faced in the development of the Type Profiler, particularly concerning analysis time for complex applications and ensuring comprehensive test coverage. - **Future Direction**: The Type Profiler is still in development, focusing on supporting more Ruby features and enhancing its type checking capabilities while ideally requiring minimal changes from developers. Endoh concludes by inviting feedback and collaboration from the community as the project progresses, underscoring the open-source nature of the Type Profiler and the Ruby Signature proposals, ultimately aiming to blend effective static analysis within Ruby's flexible design framework.
Suggest modifications
Cancel