[PRL] Tufts, Thurs: Combining Static and Dynamic Typing in Ruby

David Van Horn dvanhorn at ccs.neu.edu
Tue Feb 9 18:15:59 EST 2010


This is probably of interest to some of the PRL.  -- David

http://www.cs.tufts.edu/colloquia/current/?event=615

Speaker: Jeff Foster, University of Maryland, Harvard University 
(sabbatical)

Abstract

Many popular scripting languages are dynamically typed. Dynamic typing 
provides many benefits, but it comes at a price: Programming mistakes 
that would easily be caught by static typing remain latent until run 
time, when they can be hard to track down and expensive to fix. In this 
talk, we will discuss Diamondback Ruby (DRuby), a research project that 
blends static and dynamic typing for Ruby. Our aim is to add a typing 
discipline that is simple for programmers to use, flexible enough to 
handle common idioms, that provides programmers with additional checking 
where they want it, and reverts to run-time checks where necessary. 
DRuby includes the Ruby Intermediate Language, a parser and front-end 
for Ruby; a static type language that is similar to the typing notation 
in the informal documentation for Ruby; a static type inference 
algorithm; a profiling-based analysis algorithm to handle 
hard-to-analyze dynamic constructs such as "eval"; interface files for 
modules; and an extension for analysis of Ruby-on-Rails code. We will 
discuss these features of DRuby and their evaluation, as well as lessons 
learned in working with scripting languages in general, and Ruby in 
particular. We will end by discussing future directions, including a 
symbolic execution engine for Ruby and user studies to better understand 
the use of types in programming.

Joint work with Mike Furr, Jong-hoon (David) An, Mike Hicks, Mark Daly, 
Avik Chaudhuri, and Ben Kirzhner.



More information about the PRL mailing list