Distinguished CS Colloquium Talk by Prof. Jeff Foster on Dec 15th
Title: Types for Dynamic Languages
Speaker: Prof. Jeff Foster, Tufts University
When: Friday, December 15, 2023 @ 11am
Where: CDS 1750
Abstract
Dynamic languages are flexible, fun to use, and have a great power-to-code-weight ratio. But the lack of static typing can impede software development, make code maintenance harder, and lead to bugs that lurk in code for a long time. Over the last 15 years, I have been developing approaches to add static typing to Ruby, a popular dynamic programming language, in a way that is practical and effective. In this talk, I will discuss a sequence of key research results leading to a robust type system for Ruby, moving from a basic type system to just-in-time type checking to computational types. I will also sketch how to use heuristics and machine learning to improve type inference. Finally, I will discuss some lessons learned from helping transition insights from my work into practice: Types have been part of Ruby since the end of 2020, and adoption across the community continues to steadily increase.
Bio
Jeffrey S. Foster is Professor and Chair in the Department of Computer Science at Tufts University, and he is also Chair of the ACM Special Interest Group on Programming Languages (SIGPLAN). From 2003–2018, he was Assistant, Associate, and then Full Professor in the Department of Computer Science and UMIACS at the University of Maryland, College Park. Dr. Foster received his Ph.D. (2002) in Computer Science from UC Berkeley. Dr. Foster’s research focuses on developing programming languages and software engineering approaches to making software easier to write and more reliable, secure, and available. Dr. Foster is a recipient of the NSF CAREER award (2004) and was a member of DARPA’s Computer Science Study Group.