Skip to content

Instantly share code, notes, and snippets.



Last active Jul 21, 2019
What would you like to do?
Venue: Keynote for Compose :: Melbourne, September 2nd 2019 (

The Hidden Data Flow in Types

On the surface, function types simply describe inputs and outputs—indeed, that's how they're used in most type systems. But there's more to function types!

Fascinatingly, a function type can be transformed into a data flow graph that predicts the inner workings of any function that has that type. Using this graph, intricate dependencies between function inputs and outputs can be inferred without having to read code or documentation.

In this talk you will learn how to see function types in a different light, gaining clairvoyant powers to predict how their implementations behave.

We will cover how this insight enables the impressive type inference of Flow and MLsub, and explore possible future applications to other languages like TypeScript, Typed Racket, and Typed Clojure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment