© 2020 Strange Loop
Building and managing different sorts of distributed systems is notoriously difficult; of course nodes can fail, but we are also often connecting many different services with many different underlying assumptions behind each. This means that not only can individual components fail, but so can entire inter-connected groups of services. But what if we could leave some of these headaches, like making sure that certain invariants hold between two inter-connected services, to our programming language to worry about? In this talk, Heather will talk about some recent work bridging distributed systems and programming languages research by shifting reasoning for two classes of problems into the programming language; building up richer computations making use of CRDTs, and building up richer computations implemented as compositions of serverless functions.
Heather is an Assistant Professor in the School of Computer Science at Carnegie Mellon University. Before that, she was the co-founder and Executive Director of the Scala Center at EPFL, where she was also a research scientist, as well as an Assistant Clinical Professor at Northeastern University. She recently completed her PhD in EPFL's Faculty of Computer and Communication Science where she contributed to the now-widespread programming language, Scala. Heather's research interests are at the intersection of data-centric distributed systems and programming languages, with a focus on transferring her research results into industrial use. She has also led development of popular MOOCs some 1 million students strong, such as "Functional Programming Principles in Scala."