Compose NYC 2019
Speaker: David Christiansen
When implementing a type checker, one must answer two questions: how to compare types for sameness, be it a subsumption check for subtyping, a unification algorithm for type inference, or normalization for dependent types, and when to check for sameness. The way most type systems are written provides little guidance on this question. One solution to the problem is bidirectional type checking, in which the typing judgment is split into two modes, one that checks an expression against a given type, and one that concocts a type for an expression. Bidirectional type checking tends to require a relatively low burden of annotations, it scales to powerful type systems, and it tends to do a good job associating type errors with source locations. I’ll discuss the history of bidirectional type checking, show how to bidirectionalize known type systems, and walk through some implementations.
On this page of the site you can watch the video online Bidirectional Type Checking with a duration of hours minute second in good quality, which was uploaded by the user Compose Conference 01 January 1970, share the link with friends and acquaintances, this video has already been watched 8,245 times on youtube and it was liked by 278 viewers. Enjoy your viewing!