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 Fundamentals (2-Day Course) with Alejandro Serrano (Online Course on 5th - 6th July 2021)
- Haskell Fundamentals (4-Day Course) with Alejandro Serrano (Online Course on 8th - 11th November 2021)
- Haskell eXchange 2021 (Online Conference on 16th - 17th November 2021)
- Theorems for Free (SkillsCast recorded in November 2020)
- Comparing Strict and Lazy (SkillsCast recorded in November 2020)
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.