Skip to content

Latest commit

 

History

History
283 lines (254 loc) · 43 KB

File metadata and controls

283 lines (254 loc) · 43 KB

Table of Contents

Why Erlang?

Introduction

Learning Erlang

Advanced Erlang

Erlang design choices and BEAM Internals

Useful tools and libraries

Testing

  • Eunit - Official documentation for Erlang's lightweight unit testing framework with assertion macros and test generators
  • Common Test Basics - Introduction to Erlang's integration and system testing framework, suited for larger tests with setup/teardown
  • Erlang Meta Testing - Brujo Benavides - Technique for testing that all modules in an application have proper test coverage and follow conventions
  • Testing Erlang - Zachary Kessin - Free open-source book covering EUnit, Common Test, PropEr, and testing strategies for Erlang applications
  • PropEr User Guide - Official guide to the PropEr property-based testing library for generating random test cases from specifications
  • triq: Trifork QuickCheck - Free Apache-licensed QuickCheck implementation for property-based testing in Erlang
  • PropEr Testing - Fred Hebert's free online book teaching property-based testing with PropEr through practical examples

Debugging, tracing and logging

Profiling

Performance

Erlang wants to talk to the outside world!

Parsing

Learn through reading some awesome code!

Community

Other BEAM languages

  • Elixir - Dynamic, functional language with Ruby-inspired syntax, the most popular BEAM language after Erlang
  • LFE - Lisp Flavoured Erlang, a Lisp syntax frontend for the BEAM with full Erlang interoperability
  • Purerl - PureScript backend that compiles to Erlang, bringing strong static typing and type classes to the BEAM
  • Luerl - Lua interpreter implemented in Erlang, useful for embedding scripting in BEAM applications
  • Erlog - Prolog interpreter in Erlang, allows embedding logic programming within BEAM applications
  • Clojerl - Clojure implementation on the BEAM, bringing persistent data structures and Clojure's philosophy to Erlang
  • Gleam - Statically typed language for the BEAM with type-safe OTP bindings and no runtime exceptions
  • Caramel (unmaintained) - OCaml-inspired language targeting the BEAM, aimed at bringing ML-style types to Erlang
  • Fez (unmaintained) - F# to BEAM compiler, an experiment in running .NET-style functional code on the BEAM
  • Alpaca (unmaintained) - ML-style statically typed language for the BEAM with type inference and pattern matching
  • Efene (unmaintained) - Python and JavaScript inspired syntax for the BEAM, aimed at lowering the barrier to entry

Not yet reviewed

These resources were recently found and have not been reviewed yet.

Erlang/OTP Releases

Gleam

BEAM Performance

Talks & Articles

Elixir Ecosystem

Books

Erlang/OTP 28 & Language Features (New)

BEAM Internals & Research (New)

Embedded BEAM & IoT (New)

New Books 2025 (New)

Gleam Ecosystem (New)

Conferences (New)