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.
YOU MAY ALSO LIKE:
- Greg Young's CQRS, Domain Events, Event Sourcing and how to apply DDD (in Stockholm on 22nd - 24th May 2017)
- Fast Track to RESTful Microservices (in London on 24th - 26th May 2017)
- Whole Team Approach to Agile Testing (in London on 5th - 7th June 2017)
- µCon 2017: The Microservices Conference (in London on 6th - 7th November 2017)
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.