Variables in Types

September 25, 2017

These are some recitation notes for an ad-hoc recitation I gave for the class 15-312 Principles of Programming Languages. It was probably my favorite 312 recitation content-wise, because it’s the first recitation where we’ve covered enough stuff to where we can really start connecting the dots.

Abstract:

We’ve seen a number of examples in class of types which use variables. Having variables in our type systems lends a great deal of power to languages using these type systems. We’re going to look at how variables are used in generic programming, inductive & coinductive types, and polymorphic types.

Variables in Types

Read More

Intersection Types in Sorbet are Surprisingly Common

Conventional knowledge is that union types are common and intersection types are rare. But actually that’s not the case—intersection types show up in nearly every program Sorbet type checks thanks to control flow. Continue reading

What makes type checking Ruby hard?

Published on December 29, 2019

Surgery on Code from the Command Line

Published on July 30, 2019