Skip to content

Instantly share code, notes, and snippets.

@frenchy64
Last active July 21, 2019 01:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frenchy64/52f090201bdcc026a524fc8c2102c2d5 to your computer and use it in GitHub Desktop.
Save frenchy64/52f090201bdcc026a524fc8c2102c2d5 to your computer and use it in GitHub Desktop.
Venue: Keynote for Compose :: Melbourne, September 2nd 2019 (http://www.composeconference.org/)

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