Free Erlang Books

Get the Hang of Erlang with Free Books

Erlang Books

Erlang is a general-purpose, concurrent, declarative, functional programming language and runtime environment developed by Ericsson, a Swedish multinational provider of communications technology and services. Erlang is dynamically typed and has a pattern matching syntax. The language solves difficult problems inherent in parallel, concurrent environments. It uses sets of parallel supervised processes, not a single sequential process as found in most programming languages.

Erlang was created in 1986 at the Ellemtel Telecommunication Systems Laboratories for telecommunication systems. The objective was to build a simple and efficient programming language resilient large-scale concurrent industrial applications.

Besides telecommunication systems and applications and other large industrial real-time systems, Erlang is particularly suitable for servers for internet applications, e-commerce, and networked database applications. The versatility of the language is, in part, due to its extensive collection of libraries.

The language is released under an open source license, initially the Erlang Public License, now supplanted by the Apache License 2.0.

We publish a series covering the best open source programming books for other popular languages. Read them here.

Etudes for Erlang

Études for Erlang

By J. David Eisenberg (128 pages)

Études for Erlang provides descriptions of programs that you can write in Erlang. The programs are typically short, and each one is designed as practice material for a particular Erlang programming concept. These programs have not been designed to be of considerable difficulty, though they may ask the reader to stretch a bit beyond the immediate material and examples that are found in the book Introducing Erlang.

Example programs cover:

  • Functions and Modules
  • Atoms, Tuples and Pattern Matching
  • Logic and Recursion
  • Strings
  • Lists
  • Higher Order Functions and List Comprehensions
  • Processes
  • Handling Errors
  • Storing Structured Data
  • Getting Started with OTP
  • Solutions

This book is released under an open source license.

Erlang Handbook

Erlang Handbook

By Bjarne Däcker, Robert Virding (46 pages)

The Erlang Handbook is a concise summary of the language features and the runtime system. It’s aimed at people with some programming experience, serving as a quick introduction to the Erlang domain.

The book focuses on the following areas:

  • Structure of an Erlang program – offers a brief introduction to module syntax, module attributes, comments, character set, and reserved words
  • Data types – unary data types, compound data types, escape sequences, and type conversions
  • Pattern matching – variables and pattern matching
  • Functions – function definition, function calls, expressions including Boolean expressions, compound expressions, guard sequences, tail recursion, funs, and built-in functions
  • Processes – examines process creation, registered processes, process communication, process termination, monitors, process priorities, and process dictionary
  • Error handling – deals with error handling within a process. Such errors are known as exceptions
  • Distributed Erlang – looks at nodes, node connections, hidden nodes, cookies, distribution built-in functions, distribution command line flags, and distribution modules
  • Ports and Port Drivers
  • Code loading
  • Macros

This text is made available under a Creative Commons Attribution-ShareAlike 3.0 License. The handbook is typeset using LaTeX.

Stuff Goes Bad: Erlang in Anger

Stuff Goes Bad: Erlang in Anger

By Fred Hébert (93 pages)

Stuff Goes Bad: Erlang in Anger is a compilation of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.

The first three chapters explore writing applications:

  • How to Dive into a Code Base
  • Building Open Source Erlang Software
  • Planning for Overload

The next three chapters focus on diagnosing applications:

  • Connecting to Remote Nodes
  • Runtime Metrics
  • Reading Crash Dumps
  • Memory Leaks
  • CPU and Scheduler Hogs
  • Tracing

The book is published under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Erlang/OTP System Documentation

Erlang/OTP System Documentation

By Ericsson AB (387 pages)

This is the official reference manual for Erlang, written by the developer of the language. OTP (Open Telecom Platform) is a large collection of libraries for Erlang to do everything from compiling ASN.1 to providing a web server.

Chapters cover:

  • System Principles – examines error logging, creating and upgrading a target system, upgrade when Erlang/OTP has changed, and versions
  • Embedded System User’s Guide – describes the issues that are specific for running Erlang on an embedded system. It describes the differences in installing and starting Erlang compared to how it is done for a non-embedded system
  • Getting Started with Erlang – a quick start tutorial to get you started with Erlang
  • Erlang Reference Manual – this chapter describes the language itself, not its implementation
  • Programming Examples – provides examples on using records, funs, comprehensions, and the bit syntax
  • Efficiency Guide – gives a few pointers about what to avoid and what to use when optimizing code
  • Interoperability Tutorial – information exchange between Erlang and other programming languages
  • OTP Design Principles – they define how to structure Erlang code in terms of processes, modules, and directories

This work is licensed under the Apache License, Version 2.0.

Getting Started with Erlang

Getting Started with Erlang

By Ericsson AB (58 pages)

As its name suggests, this book is a “kick start” tutorial to get you up and running with Erlang.

It tells only the simplest form of the syntax, simplifies material, and omits things like references, local error handling, and single direction lines. But it’s a great place to begin your adventures with the language.

Erlang Programming

Erlang Programming

By Wikibooks (HTML)

Erlang Programming provides a good overview of this functional programming language.

The book has sections on basic Erlang, basic OTP, intermediate Erlang, object programming, popular modules, software engineering, advanced OTP, thinking in parallel, and advanced Erlang.

The text is available under the Creative Commons Attribution-ShareAlike License.

NOTE: The following books are free-to-download but do not appear to be released under an open source license.

PROGRAMMING LANGUAGE PROFILES

Ada, Assembly, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Go, Haskell, HTML, Java, JavaScript, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scratch, Swift, VimL

Leave a Reply