One of the enduring challenges of programming is how to cope with change. This problem is significantly exaggerated in multi-threaded code. Many solutions to the problem have emerged – from locking to the actor model, from lenses to free monad. However in our system we found none of these solutions satisfactory. In this talk we will use live demonstrations to present our alternative to managing state and mutation in a functional style. We will also demo how the building blocks of referential transparency and addressability can be used to create complex applications. This talk requires no background knowledge. Attendees may also be interested in our other talk about how this technology can be used to automatically parallelise code: https://skillsmatter.com/skillscasts/11182-automatic-parallelisation-and-batching-of-scala-code
I participate in a large Scala project of many millions of lines of code. We use Scala to build a novel runtime which solves a number of problems we have encountered in distributed enterprise computing.
Gjeta is a project engineer working for the last year and a half in the core technology of the project. She has been profiling applications to identify reasons for cache misses and concurrency bottlenecks. She has also been tracking and analysing efficiencies across the codebase and including caching of bitemporal database queries for optimal reuse.