Technically, why are processes in Erlang more efficient than OS threads?

Erlang’s Characteristics From Erlang Programming (2009): Erlang concurrency is fast and scalable. Its processes are lightweight in that the Erlang virtual machine does not create an OS thread for every created process. They are created, scheduled, and handled in the VM, independent of underlying operating system. As a result, process creation time is of the … Read more

Why are there two kinds of functions in Elixir?

I’m learning Elixir and wonder why it has two types of function definitions: functions defined in a module with def, called using myfunction(param1, param2) anonymous functions defined with fn, called using myfn.(param1, param2) Only the second kind of function seems to be a first-class object and can be passed as a parameter to other functions. … Read more

Speed comparison with Project Euler: C vs Python vs Erlang vs Haskell

I have taken Problem #12 from Project Euler as a programming exercise and to compare my (surely not optimal) implementations in C, Python, Erlang and Haskell. In order to get some higher execution times, I search for the first triangle number with more than 1000 divisors instead of 500 as stated in the original problem. … Read more