Please log in to watch this conference skillscast.
In this talk, you will see that, by using functional reactive programming to implement and structure programs and systems, the simplicity of testing pure functional code using principled techniques can be regained, opening up for powerful cross-platform testing frameworks unparallelled by their imperative counterparts. This approach enables property-based testing based on temporal logic, fully reproducible record-andreplay (even from deployed code), and hardware-in-the-loop testing. The talk will cover the necessary basics of functional reactive programming and illustrate using non-trivial case studies.
This talk is based on joint work by Dr Ivan Perez, Research Scientist at the NIA/NASA Formal Methods group and Founder of Keera Studios, and Dr Henrik Nilsson, School of Computer Science, University of Nottingham.
YOU MAY ALSO LIKE:
- Supermonads: One Notion to Bind Them All (SkillsCast recorded in October 2018)
- Haskell eXchange 2022: Novice Track (Online Conference on 7th December 2022)
- Haskell eXchange 2022: Online Conference (Online Conference on 8th - 9th December 2022)
- Haskell: Why and How the External STG Interpreter is Useful (SkillsCast recorded in December 2021)
- Keynote — Haskell: What To Do When Success Can't Be Avoided (SkillsCast recorded in November 2021)
Principled Testing of Functional Reactive Systems
Dr. Henrik Nilsson is a Lecturer at the School of Computer Science, University of Nottingham. He holds a PhD in Computer Science from Linköping University, Sweden. His topic was debugging techniques and tools for lazy functional languages. Prior to taking up his current post, Dr. Nilsson held a position as Associate Research Scientist at the Department of Computer Science, Yale University, working mainly on Functional Reactive Programming with Prof. Paul Hudak. Dr. Nilsson's current research interests include functional programming, reactive programming, domain-specific languages for modelling and simulation, and unified notions of effectful computation.