Hacker Public Radio

HPR3796: Dependent Types


Listen Later

I discuss dependent types, which are types that can contain non-type
programs. An example of a dependent type is a list whose type contains
its length. Instead of just writing List<String> for
a list that contains strings, dependent types include types like
List<String, 5> that describe lists of exactly five
strings. Dependent types can also be used to represent mathematics, in
which case the programs that they describe count as proofs, and tools
from programming can be used to write math.
Dependent types used to be something that really required a research
background, but there has been a lot of progress on making them more
user-friendly and on writing accessible introductions lately.
Languages mentioned:
Idris is a self-hosted
dependently typed language with type-level resource tracking
Agda
is a testbed for new ideas in dependently typed programming
Lean 4 is a self-hosted
dependently typed language that has a more conservative logical core
than Idris or Agda, and attempts to appeal more to practicing
mathematicians.
Coq is a proof assistant based
on dependent types that has been used to fully mathematically verify a C
compiler
Books mentioned:
The Little Typer, by
Daniel P. Friedman and David Thrane Christiansen is an intro to the core
ideas of dependent types, in dialog form
Type
Driven Development with Idris by Edwin Brady, the creator of Idris,
describes an approach to programming that uses expressive types as a way
to make programmers' lives easier
Programming Language Foundations
in Agda by Phil Wadler, Wen Kokke, and Jeremy Siek describes the use
of Agda for both programming and proving
Software
Foundations is a series of books that use Coq as an introduction to
mathematically rigorous software development in a proof assistant. It's
how I initially learned these topics!
...more
View all episodesView all episodes
Download on the App Store

Hacker Public RadioBy Hacker Public Radio

  • 4.2
  • 4.2
  • 4.2
  • 4.2
  • 4.2

4.2

34 ratings


More shows like Hacker Public Radio

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

289 Listeners

Defensive Security Podcast - Malware, Hacking, Cyber Security & Infosec by Jerry Bell and Andrew Kalat

Defensive Security Podcast - Malware, Hacking, Cyber Security & Infosec

373 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

268 Listeners

SANS Internet Stormcenter Daily Cyber Security Podcast (Stormcast) by Johannes B. Ullrich

SANS Internet Stormcenter Daily Cyber Security Podcast (Stormcast)

653 Listeners

Curious Cases by BBC Radio 4

Curious Cases

828 Listeners

The Strong Towns Podcast by Strong Towns

The Strong Towns Podcast

422 Listeners

Late Night Linux by The Late Night Linux Family

Late Night Linux

164 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,045 Listeners

Cybersecurity Today by Jim Love

Cybersecurity Today

181 Listeners

CISO Series Podcast by David Spark, Mike Johnson, and Andy Ellis

CISO Series Podcast

189 Listeners

TechCrunch Daily Crunch by TechCrunch

TechCrunch Daily Crunch

42 Listeners

Strict Scrutiny by Crooked Media

Strict Scrutiny

5,798 Listeners

2.5 Admins by The Late Night Linux Family

2.5 Admins

98 Listeners

Cyber Security Headlines by CISO Series

Cyber Security Headlines

139 Listeners

What the Hack? by DeleteMe

What the Hack?

221 Listeners