Conquering race conditions in Erlang programs with Concuerror
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.
Developers interested in building concurrent, fault-tolerant systems
schedule Submitted 1 year ago
People who liked this proposal, also liked:
Tony Morris - Let's LensTony MorrisSoftware EngineerSimple Machines
schedule 2 years agoSold Out!
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.
Stavros Aronis - Welcome to the Erlang EcosystemStavros AronisSr. Developer & TrainerErlang Solutions
schedule 1 year agoSold Out!
"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.
Tanmai Gopal - Using Haskell to build a performant GraphQL to SQL compilerTanmai GopalFounderHasura
schedule 2 years agoSold Out!
- 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