The functional programming paradigm nicely fits problems in distributed programming. For example, moving computation to data can achieve multi-fold improvements in latency and throughput of big-data-style applications.
In this talk, I'll present some of our ongoing work on a new programming model for asynchronous and distributed programming. By bringing together recent advances in type systems research and new language features in Scala, this paradigm promotes new patterns of programming in distributed environments using distributable lambdas and types. For now, we call it "function-passing", and it can be thought of as an inversion of the actor model – keep your data stationary, send and apply your functionality (functions/spores) to that stationary data, and get typed communication all for free, all in a friendly collections/futures-like package!
Heather has been a member of the Scala team, and a PhD student under Martin Odersky, since 2011. Her research focuses on programming language and compiler support for distributed programming – in particular, using type systems to facilitate the design of new, functional distributed systems. She is a regular contributor to Scala, and was on the team that designed Scala’s Futures & Promises, is responsible for improving several aspects of Scala documentation (API docs, guides, tutorials, quickrefs, including docs.scala-lang.org), and led the now >100,000-student-strong Coursera massive open online course, “Functional Programming Principles in Scala.”