If we believe that the processes in Erlang/Elixir can communicate with each other only through message passing, we wouldn’t be entirely correct.

Erlang/OTP also brings Erlang Term Storage or ETS. ETS represents an in-memory key-value database that is part of the BEAM virtual machine. It’s not implemented in Erlang; instead, it’s built into the virtual machine itself. This means it’s written in C and optimized for concurrent reading and writing. Internally, it stores data that is mutable.


Functions Everywhere

In the previous post we used a small subset of a given programming language and tried (successfully) to define our own implementation of recursion. Let’s try to use even smaller subset.

Imagine… We don’t have numbers, strings, operations…


Defining Recursion

This is the English version of an article I wrote for You can find it in Български on this blog too.

It is an interesting exercise, in which we are going to use a very limited subset of the language - a subset that doesn’t even support recursion. Using only it, we will try to define a recursive function.