Welcome to the Erlang Ecosystem
"Are there really companies that use Erlang?" is the most common (and by now expected) question I have been asked by my peers ever since I joined the Erlang Solutions office in Stockholm, not too long ago. "Why?" is, naturally, the second question. In this introductory workshop I will explain what are the key ideas that Erlang is built upon, how these ideas have evolved into a powerful set of design patterns that compose the Erlang/OTP framework and why these ideas and patterns are useful to plenty of industries that use Erlang (and not merely to telecom!). I will also introduce the language ecosystem that has evolved around Erlang, including languages such as Elixir, LFE, and Alpaca.
Target Audience
Developers interested in Erlang
schedule Submitted 4 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Stavros Aronis - Conquering race conditions in Erlang programs with Concuerror
45 Mins
Demonstration
Intermediate
Concurrency-related bugs, such as race conditions and deadlocks, are some of the hardest bugs to isolate, reproduce, understand and fix. Even Erlang programs can suffer from such bugs, for example when messages arrive in unexpected orders or shared resources (e.g. ETS tables) are accessed concurrently. In this workshop I will demonstrate how developers of all levels can use Concuerror, a testing and verification tool for Erlang programs, to automatically detect, isolate and understand concurrency-related errors in their code and explain how the tool can ultimately prove the absence of such errors. I'll also share experiences from two industrial applications of Concuerror in verifying interesting aspects of distributed algorithms.
-
keyboard_arrow_down
Tony Morris - Let's Lens
480 Mins
Workshop
Intermediate
Let's Lens presents a series of exercises, in a similar format to the Data61 functional programming course material. The subject of the exercises is around the concept of lenses, initially proposed by Foster et al., to solve the view-update problem of relational databases.
The theories around lenses have been advanced significantly in recent years, resulting in a library, implemented in Haskell, called lens.
This workshop will take you through the basic definition of the lens data structure and its related structures such as traversals and prisms. Following this we implement some of the low-level lens library, then go on to discuss and solve a practical problem that uses all of these structures.
-
keyboard_arrow_down
Tanmai Gopal - Using Haskell to build a performant GraphQL to SQL compiler
45 Mins
Case Study
Intermediate
- Motivation/Problem statement: Lifecycle of a GraphQL query
- Design Goals
- Why Haskell
- Compiler implementation details:
- Fast GraphQL parsing with parser combinators
- Modelling and manipulating the GraphQL AST with algebraic data types
- Software Transactional Memory: Concurrency constructs for scaling GraphQL subscriptions
- Summary with performance benchmarks