Skip to content
0:00 / 0:00

#dependenttypes#conormcbride#typesystems

Conor McBride - Worldly Type Systems

Sophie Taylor

81 subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2022.
  • Presented by Conor McBride

Advanced. Deep dive for people who know the field.

2.1K views10 years ago2 recommendations

Computer scienceProgramming languagesComputation and complexityLanguage design and type systems

Conor McBride discusses dependent types and bidirectional type systems in a lecture at UNSW.

Talk given at UNSW, 3 May 2016.

Why it's here

2 people recommend this

What people say. Recommended as an accessible explanation of bidirectional type systems.

u/lightandlightin r/ProgrammingLanguages • Recommends

On “basics of bidirectionalism”

link to this video This is a workshop by Conor which talks about most of the same stuff as the post. I found it a lot easier to understand what was going on.

u/WittyStickin r/ProgrammingLanguages • Recommends

On “Implementing Functions in Userspace”

This may be of interest to you: link to this video I don't know if there's a paper published for it.

u/gelisamin r/haskell • Mentions

On “Is there any way to leverage the type system to invalidate an already valid type?”

Ah, so that's what this paper is about, monads indexed by `i -> *` predicates instead of over ordinary `*` types! This is one paper in which Conor pushed the puns even further than usual, and I couldn't follow. If anyone else is in the same boat, I found this video presentation much more approachable. It's true that the terminology is quite confusing, but if you search for "indexed monad" in that paper, you'll see that Conor did not use it to describe his `IMonad` construction, and that he compares and contrasts his "ordinary monad over indexed types" with the "indexed monad over ordinary types" of `Control.Monad.Indexed` etc.

u/taktoain r/haskell • Mentions

On “Dhall - A non-Turing-complete configuration language”

I highly recommend reading up on bidirectional typechecking; it really simplifies writing a type inference algorithm IMO. This talk by Conor McBride is also a pretty great educational resource for writing a dependent type inference algorithm.