Please log in to watch this conference skillscast.
But, in practice, these promises often don’t hold. They held at some point in the past, when the author checked them manually, but later versions regressed.
This problem can be fixed with
inspection-testing, a Haskell library and plugin to the compiler that allows you to explicitly state what you expect from the compilers optimizations, and have the compiler check that it actually happens. This can be used by library authors to test their promises, but also by users to learn more about what the compiler does with their code.
In this talk, you will discover the tale of broken promises in commonly used Haskell libraries, and you will learn how these promises can be checked automatically using inspection-testing.
YOU MAY ALSO LIKE:
- Winter is Coming – Even Faster (SkillsCast recorded in November 2020)
- Haskell eXchange 2022: Novice Track (Online Conference on 7th December 2022)
- Haskell eXchange 2022: Online Conference (Online Conference on 8th - 9th December 2022)
- Test Those Metrics! Our Black-Box Approach for Observability Testing (SkillsCast recorded in December 2021)
- Haskell: Why and How the External STG Interpreter is Useful (SkillsCast recorded in December 2021)
A Promise Checked is a Promise Kept: Inspection Testing
Ever since Joachim Breitner got infected with the Haskell fever in 2005, he has been an active part of the community, with many contributions to GHC, and currently most active driving the GHC proposal process. He obtained a PhD in Karlsruhe, Germany, for the inception and formal verification of the Call Arity program transformation, has worked as a post-doc with Stephanie Weirich at the University of Pennsylvania to make formal verification of Haskell practical, and is currently a Senior Researcher and Engineer at the DFINITY Foundation. If this year’s Haskell eXchange were live in London, you might stumble across him in the evening dancing Swing or Tango Argentino, or performing at a stand-up comedy open mic.