How embedded was "semi-embedded"? I ask because I'm on a project for which we had discussed using Erlang or Elixir but decided the VM overhead was too high to support all our uses.
Well, Erlang's been around for like 30 years. What was a pretty powerful computer back then is something we'd call "embedded" today. Of course, we still call things with 8-bit processors and single-digit kilobytes of RAM embedded, too. So it depends on where you fall in that scale. The phone switches it was designed to run are also fairly low-power devices by modern standards. (Lots and lots and LOTS of custom hardware, but not necessarily a lot of "CPU".)
In addition to what the article itself talks about, there's a number of other memory knobs you can twiddle for various use cases.
I apply that term more liberally, it not much as about size of CPU or RAM but more about how it is indented to be used.
Is the user expected to know about OS packages on it. Are they installing/updating software components by hand, so they know the OS version which runs in the box even, are they calling it a "server"? If the answer is yes, it not "embedded".
If they interact with the device as with an appliance (a dvd player, microwave, car infotainment center, some radio base station and so on), then it is embedded. It can still be an 8 core Xeon monster, but because of how it is serviced and used it, I think of it as embedded.
Once again, exactly: the device in question was not severely CPU or memory constrained or anything, but the user treated it more like an appliance than like a computer. Also had some real-time-ish stuff that was mostly handled in C++.
In many cases for example, the device hardware and software is structured in 2 layers -- control layer (called a plane also) and data layer. Erlang is usually sitting on the control layer, it manages things, authenticates connections, handles routing setup, handles failures, monitoring setup etc.
The data layer is usually hardware or C drivers which handle streaming data. This is simple and as basic as possible so it can be monitored and managed by the control layer.