Follow the links and be prepared to have your mind moderately blown.| learnyousomeerlang.com
Follow the links and be prepared to have your mind moderately blown.| learnyousomeerlang.com
Hi everyone who still follows this RSS feed even though the text was marked as done. I'm creating an event there to announce that Learn You Some Erlang for Great Good! is now available as a book from No Starch Press (http://nostarch/erlang). Moreover, the text of the LYSE website has gone under a lot of small changes and fixes in the last few months, mostly typoes, little bugs in implementations, and a few additions relative to new content coming up with new releases. I'll try to maintain the...| Learn you some Erlang for great good!
Writing a short concurrent application with Erlang primitives: processes, links, monitors, hot code loading and message passing are revisited. A primer before OTP.| learnyousomeerlang.com
Follow the links and be prepared to have your mind moderately blown.| learnyousomeerlang.com
Recursion: How to make recursive functions in Erlang, then replace them with tail recursive functions. Examples on how to do it, including a functional version of quicksort.| learnyousomeerlang.com
Higher order functions: how to pass functions as parameters to other functions, declare anonymous functions (funs), understanding scopes and the concept of closures.| learnyousomeerlang.com
A list of compile-time errors and warnings, runtime errors in Erlang. Also errors, exits and throws then how to handle them with try ... catch and other constructs.| learnyousomeerlang.com
Using Erlang to solve sequential programming problems. In this chapter we write a reverse polish notation calculator and write a program to find the shortest path between Heathrow and London.| learnyousomeerlang.com
A roundup of useful data structure in the Erlang programming language, including records, key-value stores (dicts, trees), sets, directed graphs, queues, etc.| learnyousomeerlang.com
The basic concepts behind Erlang's message passing architecture for writing fault-tolerant systems. How to spawn new processes, send and receive messages and a few examples.| learnyousomeerlang.com
Additional concepts about multiprocessing in Erlang. Includes examples on how to keep state, avoid locks with timeouts and how to handle selective receives.| learnyousomeerlang.com
Error management with multiple processes in Erlang: links, monitors, exit signals (and how to trap them), the logic behind being able to give names to processes.| learnyousomeerlang.com
A very short description of OTP as a whole, followed by making a server generic to illustrate the importance of separating specific and generic code.| learnyousomeerlang.com
Presenting finite-state machines and their OTP implementation with an asynchronous item trading system for a fictive game| learnyousomeerlang.com
Learning about event handlers and their OTP equivalent (gen_event) in the context of writing a system for a curling game.| learnyousomeerlang.com
A tour of OTP supervisors. We see how to supervise an OTP process with all the different restart strategies. Practical examples with an annoying band manager included.| learnyousomeerlang.com
Building a basic process pool with OTP components. Pratical examples of building a supervisor tree and general strategies around using OTP to write software.| learnyousomeerlang.com
Introduction to the concept of OTP applications. We take previous bits of code and convert them to fit the OTP model for the VM.| learnyousomeerlang.com
Seeing how to handle OTP releases. Two tools, systools and reltool are used to package up OTP applications and modules into executable files.| learnyousomeerlang.com
Finding how to take a complete release and then safely upgrade it without taking it down or losing data. Done with a Progress Quest clone.| learnyousomeerlang.com
A quick expedition through socket programming with UDP and TCP. We see io lists, gen_udp, gen_tcp and the inet module. We also build a TCP server for telnet clients.| learnyousomeerlang.com
A first foray into testing with Erlang, using EUnit as a test framework. We see EUnit's most important features and put them in practice by studying real tests.| learnyousomeerlang.com
Learning to use ETS tables, an in-memory database for Erlang. Side concepts such as match specifications are also seen, and we refactor a name registry server to use ETS.| learnyousomeerlang.com
A shorter chapter on distributed OTP applications, showing how to use OTP mechanisms to allow failover/takeover mechanisms to make systems redundant and reliable.| learnyousomeerlang.com
A smooth introduction for Common Test, a testing framework for blackbox and whitebox testing in Erlang, including distributed tests.| learnyousomeerlang.com
An intro to basic Mnesia, a distributed database for Erlang terms. We get into The Godfather's realm and write a transactional system to track friends and services.| learnyousomeerlang.com
Dialyzer is an Erlang tool to analyze and find discrepancies in Erlang software. More than that, it's also a type inferencer and a type checker. This chapter shows how to use it.| learnyousomeerlang.com
A guide to understanding Erlang Maps| learnyousomeerlang.com
A guide on time handling in Erlang. Topics such as time correction and warping to handle clock skew and drifting are covered, along with new BIFs introduced in Erlang 18.0.| learnyousomeerlang.com
The basics of distributed computing, including the 8 fallacies (or assumptions) of distribution, the CAP theorem, and a hands on guide to getting things distributed with Erlang.| learnyousomeerlang.com