Simon Ritter starts with a short summary of the key features of both Lambda expressions and streams before moving on to some real world examples of how to use them effectively.
Jessica Kerr introduces Elm, focusing on its architecture: how it overturns what is essential in object-oriented and even back-end functional programming.
Claudia Doppioslash discusses some of the useful features of Elm, such as time traveling debugger, immutability, union types, type inference and Functional Reactive Programming.
Panelists answer questions on the languages they contributed to: How do you organize thoughts and code? What unique advances in usability did your language make? Why do your users love to code in it?
John Hughes takes a deep dive into the history of functional programming to revisit a personal selection of highlights.
Kenji Rikitake discusses using Erlang/OTP for IoT, covering communication protocols, design principles and overcoming hardware limitations for endpoint devices in fault-tolerant systems.
Noel Welsh discusses the paradigm of the functional programmer, contrasting it with the paradigm of the object-oriented programmer, and considering if it is possible to reconcile the two.
Kostis Sagonas introduces the idea of concolic unit testing of Erlang programs and the CutEr tool, how it is different, and how it can be used to identify errors in programs in a fully automatic way.
Brennan Saeta talks about aspects of Coursera’s architecture that enable them to rapidly build sophisticated features for their learning platform, the use of containers and security-related issues.
Jamshid Mahdavi explains how WhatsApp has developed their server components, the deployment processes, and how they monitor, alert, and repair the inevitable failures in a billion-users service.
Runar Bjarnason presents how to get started with the Scalaz-Stream library, shows some examples, and how we can combine functional streams into large distributed systems.
Richard Dallaway shows an example of what Scala looks like when using pattern matching over classes, how to encode an idea into types and use advanced features of Scala without complicating the code.