This one deals with using only a very small subset of Elixir. A subset containing only anonymous functions of one argument and nothing else.
Using just that we define our own data types and operations on them.
If you are interested in lambda calculus and computer science, read it.
Erlangs syntax is actually a lot more concise than elixirs, it might look a little odd but there is far less of it. One of its benefits over elixir imo.
It’s not complex, it’s very simple, and that’s why most people don’t understand it.
I did think the same when I first start to see Erlang codes (learned Elixir first), but now I don’t think like that anymore. Elixir brought Erlang’s power to the lands of imperative programmers. I mean, Elixir still functional, but it’s not that much different than everything an imperative programmer is used to.
I have even heard some people saying: “Elixir is not functional at all”. Of course these people really don’t understand what a functional programming language is. But when I heard it, I had an epiphany: their assumption is “if it’s not complicated for me to understand, it’s not functional”.
And why should it be like that? I mean, it’s bad these people think like that because it would be good for them to learn different syntaxes! Is the syntax that big deal for our everyday work? Do a complicated syntax makes us that much more unproductive? Or unhappy?
However, I think you meant remainder instead of reminder when doing the remainder of division in the code (the function and all calls to it are called reminder)?