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:
- Lightbend Akka for Scala - Professional (in London on 13th - 14th November 2017)
- Lightbend Akka for Scala - Expert (in London on 11th - 12th December 2017)
- Lightbend Apache Spark for Scala - Professional (in London on 11th - 12th December 2017)
- Scala eXchange 2017 (in London on 14th - 15th December 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 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.