Everyone knows that writing concurrent systems is difficult. The trouble is that nearly all programs are accidentally concurrent!
This talk will start by exploring "message-passing concurrency" as a foundation. This is very sane approach to concurrency as seen in Concurrent ML, Go, and Clojure. With this foundation, we will go through some seemingly simple examples and tease out the underlying concurrent system. The goal of this talk is for you to walk away being able to recognize concurrency and use this reframing to avoid "accidental complexity" as much as possible. Message-passing concurrency is also the foundation of interactivity in Elm as well, so we will also see how Elm guides you towards using concurrency appropriately in your front-end code without you even thinking about it.
This tutorial will focus on getting started with Elm, with an emphasis on understanding the fundamentals, so that you are able to build a basic web app in Elm.
No previous knowledge of Elm is required.
Evan is a functional programmer at heart, and his broad goal is to provide the tools and learning resources to make functional languages common in industry. At Prezi, his focus is developing Elm’s compiler, tools, and community to make it a great for web programming, both within Prezi and in industry in general.