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:
- CloudNative London 2018 (in London on 26th - 28th September 2018)
- Lightbend Akka for Java - Professional (in London on 22nd - 24th October 2018)
- Lightbend Akka for Scala - Professional (in London on 25th - 26th October 2018)
- Lightbend Apache Spark for Scala - Professional (in London on 11th - 12th December 2018)
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.