ETS

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 elixir-lang.bg. 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.

[...]