CoRecursive: Coding Stories

Tech Talk: Idris, Proofs and Haskell with Edwin Brady

Jan 29, 2018
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Dependent Types Explained

  • Dependent types allow types to depend on values, making types first-class citizens like functions in functional programming.
  • This lets programmers describe data more precisely, such as a list's length encoded in its type.
INSIGHT

Programs as Proofs

  • Programs in dependent type systems are also proofs under the Curry–Howard correspondence.
  • A function, like sorting a list, simultaneously acts as a proof the algorithm works and as the implementation itself.
INSIGHT

Totality vs Turing Completeness

  • Total functional languages like Idris ensure every program terminates, unlike Turing complete languages.
  • Idris aims for "Packman completeness": practical usefulness over theoretical Turing completeness.
Get the Snipd Podcast app to discover more snips from this episode
Get the app