Please log in to watch this conference skillscast.
A lifebuoy can save you when you have already fallen in the water, but it doesn't stop you falling in the water: it can help to protect you from the more serious consequences of your mistakes. A lamp helps you see what you are doing, but it doesn't stop you doing things: the extra information can help you avoid making mistakes. Types are often sold as a means to stop programmer errors becoming execution errors. In modern Haskell, that would rather understate their value, as I hope to demonstrate. Programming live, I shall show what you can achieve when you see types as an input to the program construction process (in which labour is shared with the compiler in helpful ways), rather than an output from type inference.
The Call for Papers is now open for Haskell eXchange 2017! Submit your talk for the chance to join a stellar line-up of experts on stage. Find out more.
YOU MAY ALSO LIKE:
- FullStack Bytes with Jolyon Russ! (in London on 25th October 2017)
- F# eXchange 2018 (in London on 5th - 6th April 2018)
Is a type a lifebuoy or a lamp?
Dr Conor McBride runs the Mathematically Structured Programming group at the University of Strathclyde. He specialises in dependently typed programming. Over a decade ago. he was co-designer and implementer of Epigram. These days, while working on foundational innovations beyond advanced languages like Agda and Idris, he also engages keenly with the languages funcitonal programmers use for real work today. He is one of the people helping to drive the evolution of Haskell's type system towards ever greater expressivity.