Information and Computing Sciences Colloquium

The Pros and Cons of Static Type Systems

Jurriaan Hage

Date: 16:00 – 16:30, Thursday, 08.10.2020
Location: Teams ICS Colloquium

Title: The Pros and Cons of Static Type Systems
Abstract: Types, e.g., integers, arrays, and functions, have been employed in programming languages for a long time. We can categorize type systems along two dimensions: strong vs. weak, and static vs. dynamic. Strong type systems provide a large variety of types, e.g., booleans, integers, functions, (nested) arrays, while weak type systems provide few such types. In statically typed languages, the correctness of types is enforced at compilation time, providing partial guarantees about the correctness of the compiled program, while the correctness of types of dynamic languages is verified at run-time.

In this talk, we look at functional programming languages with strong static type systems from two perspectives. The first perspective is that of the usability of static type systems, where we discuss research we have done to improve type error diagnosis, and how to refine the type system to allow more correct programs to be accepted as such. If time permits, we also consider the second perspective which is to exploit the ideas from static type systems to perform type based analysis to improve the performance of programs.