Concepts
- ferd.ca → The Zen of Erlang [Feb 2016]
- Erlang Scheduler Details and Why It Matters - Hamidreza Soleimani’s Blog [Feb 2016]
- Ode to Erlang
- Elixir and The Beam: How Concurrency Really Works – Flatiron Labs – Medium
- The soul of Erlang by Sasa Juric (2019) which shows off the essence of the BEAM.
I think it might actually be easier to inspect the BEAM over those other VMs. For one, it is much older and stable. And secondly, the BEAM has a lot of self-introspection features.
— via
Scalability
- How scalable is Erlang?, quora answer by Ulf Winger. [Aug 2015]
- Whatsapp server architecture [Sep 2014]
Books / Learning Resouces
-
happi/theBeamBook: A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.
-
Adopting Erlang is an ongoing effort to gather all the resources that will help you use Erlang in a business. The booksite is divided in three sections focusing particularly on Erlang/OTP’s higher level concepts in the current open source ecosystem, how to use it in production (while setting up a pipeline for continuous development and delivery), and how to build a team when you’re starting from scratch.
Papers / videos
- History of Erlang
- Making Reliable Distributed Systems in the Presence of software errors - PhD thesis of Joe Armstrong
- Greg Young - The art of destroying software on Vimeo
Emacs
John Daily’s collection of Erlang links.
Instruction
- Learn You Some Erlang
- Joe Armstrong’s Ph.D. thesis (PDF)
- Introduction to Erlang blog series
- The Architecture of Open Source Applications: Riak and Erlang/OTP
- Getting Started with Erlang User’s Guide
- OTP Design Principles User’s Guide
Documentation
Community
Mailing lists
Advocacy
- What can i only do in erlang? / 2014-11-05
- Erlang is not a Concurrent Functional Programming Language
- Systems that Run Forever Self-heal and Scale: Lambda Jam keynote by Joe Armstrong
- Erlang’s Open Telecom Platform (OTP) Framework: QCon talk by Steve Vinoski
- Erlang – A survey of the language and its industrial applications (PostScript)
Experience Reports
Style
- Solving Embarrassingly Obvious Problems In Erlang
- More Embarrassingly Obvious Problems
- Programming Rules and Conventions (incomplete)
Libraries
- Kerl is analogous to virtualenv in python
- Expm is the package manager for Erlang and Elixir.
- distributerl - Building blocks for Erlang/OTP systems using distributed algorithms.
- Rebar3 — build/distribute erlang apps.
- recon — Collection of functions and scripts to debug Erlang in production. by ferd; see other libs by him on GH.
NIFs
Tools
- How to analyse a BEAM core dump — debugging by attaching GDB to a Erlang process.
- ErlyBerly — Erlang visual tracing tool.
Projects
- GitHub Erlang repositories
- Comprehensive Erlang Archive Network (unclear if still active)
- Project fifo uses Erlang.
Exercises
General functional programming exercises
Alternative languages targeting the Erlang VM
Scheduling
Misc
- Mostly Erlang (podcast)
- Erlang interviews and resources
- John Daily’s Erlang resources
- Why Erlang Syntax is the way the it is
- BEAM VM Wisdoms 1.0 documentation