Strange Loop

Dependent Types in Haskell

What has dependent type theory done for Haskell? Over the past ten years, the Glasgow Haskell compiler (GHC) has adopted many type system features inspired by dependent type theory. In this talk, I will discuss the influence of dependent types on the design of GHC and on the practice of Haskell programmers. In particular, I will walk through an extended example and use it to analyze what it means to program with with dependent types in Haskell. Throughout, I will will discuss what we have learned from this experiment in language design: what works now, what doesn't work yet, and what surprised us along the way.

Stephanie Weirich

Stephanie Weirich

University of Pennsylvania

Stephanie Weirich is a Professor of Computer and Information Science at the University of Pennsylvania, having received tenure in 2008 and the rank of full professor in 2015. She received her B.A. in Computer Science from Rice University and her Ph.D. from Cornell University. She has published broadly in the areas of functional programming, type systems, machine-assisted theorem proving and dependent types. During the past ten years, she and her students have made significant contributions to the design of the Glasgow Haskell Compiler and its type system. Dr. Weirich has served as the program chair of the The 15th ACM SIGPLAN International Conference on Functional Programming, ICFP 2010 and the 2009 Haskell Symposium and is also an editor of the Journal of Functional Programming. She has given invited talks at many venues, including ICFP, FLOPS, RDP, LFMTP, OPLSS, and PLMW. Her recent awards include a 2016 Microsoft Outstanding Collaborator award, and the 2016 Most Influential ICFP Paper award (for 2006) for the paper "Simple unification-based type inference for GADTs" with her co-authors Simon Peyton Jones, Dimitrios Vytiniotis and Geoffrey Washburn, and the 2016 ACM SIGPLAN Robin Milner Young Researcher Award.