This talk discusses how arrows-based Functional Reactive Programming (FRP) languages can be implemented purely functionally and how their performance can be improved, using the embedded FRP implementation Yampa as an example.The talk also considers the related notion of Commutative Causal Arrows (CCA).CCAs can be converted into a normal form related to Mealy machines resulting in substantial performance gains. In both cases the underlying ideas are to represent computations as data and reformulating programs by exploiting algebraic identities, ideas which are generally useful.
YOU MAY ALSO LIKE:
- Principled Testing of Functional Reactive Systems (SkillsCast recorded in October 2019)
- F# eXchange 2020 (Online Conference on 21st October 2020)
- Haskell eXchange 2020 (Online Conference on 3rd - 4th November 2020)
- Intro to OCaml (SkillsCast recorded in June 2020)
- First look at Jetpack Compose (SkillsCast recorded in October 2019)
Implementing and Optimising Functional Reactive Programming - Henrik Nilsson
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.