#idris#dependenttypes#type-drivendevelopment
Type-Driven Development in Idris — Edwin Brady
5.9K subscribers • 8 videos on Hallway
- Recommended by 2 people: 1 on Hacker News and 1 on Lobsters.
- A classic. People kept recommending it from 2016 to 2023.
- Presented by Edwin Brady, creator of Idris
Advanced. Deep dive for people who know the field.
25K views11 years ago2 recommendations
Programming languagesComputer scienceLanguage design and type systemsFunctional programmingComputation and complexity
Edwin Brady demonstrates how to use Idris's dependent types and interactive editing with typed holes to design and verify software.
Idris is a general purpose pure functional programming language with dependent types. In Idris, types are a first class language construct, meaning that they can be manipulated and computed like any other language construct. It encourages a type-driven style of development, in which programmers give types first and use interactive editing tools to derive programs. Introductory examples typically involve length-preserving operations on lists, or ordering invariants on sorting. Realistically, though, programming is not so simple: programs interact with users, communicate over networks, manipulate state, deal with erroneous input, and so on. In this talk I will show how advanced type systems allow us to express such interactions precisely, and how they support verification of stateful systems as a result. The talk will include several examples, leading to a verified implementation of a word game (Hangman). I will show how Type-driven Development allows programmers to specify the game rules in a direct and concise style, and how it leads to an implementation, guaranteed to correctly follow the rules by typechecking.Why it's here
2 people recommend this, 1 disputes itWhat people say. Engineers point to this talk as a prime demonstration of interactive type-driven development and the power of dependent types.
still_grokkingon Hacker News • Recommends
On “C++ at the End of 2022”
vlaaadon Hacker News • Disputes
On “In Further Praise of Dependent Types”
programming-talkscurated list on GitHubMentions
Under “Idris”
mrgriffinon Hacker News • Mentions
On “Type inference has usability problems”
nequoon Hacker News • Mentions
On “Type-Signature.com”
dietr1chon Hacker News • Mentions
On “Hazel: A live functional programming environment featuring typed holes”
u/sullyj3in r/ProgrammingLanguages • Mentions
On “What's a good general-purpose programming language?”