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:
- Uncle Bob's Advanced TDD (in London on 30th - 31st October 2017)
- Uncle Bob's Clean Code: Agile Software Craftsmanship (in London on 1st - 3rd November 2017)
- Gojko Adzic's Specification by Example: From User Stories to Acceptance Tests (in London on 7th - 8th November 2017)
- Agile Testing & BDD eXchange 2017 (in London on 9th - 10th November 2017)
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 Linkoping 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.