Schedule
Back'A full-time MRI committer at Cookpad, Inc. He has been interested in testing, analyzing, abusing of Ruby. He is an advocate of "transcendental programming" that creates a useless program like this bio. (`_`)'.yield_self{|s|eval(t=%q(puts"'#{s.sub(?_,?_+?_)}'.yield_self{|s|eval(t=%q(#{t}))}"))}
Type Profiler: An analysis to guess type signatures
After matz set Ruby 3 goals including static analysis, its requirements (and compromises) have been revealed gradually. We review the current status as far as we know, briefly survey some existing proposals and implementations related to type checking for Ruby, and clarify what is good and what is missing.
Based on this survey, we prototype a type profiler, one of the missing parts for Ruby type checking system. A type profiler analyzes existing Ruby programs statically and dynamically, and creates a stub of type definitions. We discuss its design and show some experiment results.