3 ms·
> Erlang is compiled to bytecode, and the yield points are between each instruction sort of. This is basically what I'm saying... at some point nothing is pree
by staticassertion 5y ago
> Erlang is compiled to bytecode, and the yield points are between each instruction sort of.
This is basically what I'm saying... at some point nothing is preemptive ie: at the instruction level.
> that's a huge part of my point about the beam not really being preemptive.
OK but I think that's really semantics, it doesn't really matter though. You are right that BEAM can't yield within an instruction or during FFI. If you think that means it isn't preemptive, ok, but as I said I think at some point you end up with "nothing is preemptive" and then "why do we have the word preemptive" and then "because it's useful to describe systems like BEAM".
> Yes, that's my point. In erlang the conceptual arrow goes (resiliency => not-really-but-kinda-like-actors). In these other systems, or at least the ones I've peeked at, like pony and bastion the logic goes (actors => underpants gnomes => something like erlang). It's completely backwards.
Sure, actors aren't "the point". They just satisfy important properties that are necessary for resiliency. Pony takes a very very different approach from Erlang. Bastion seems closer.
I don't think "distance from Erlang" is really important or interesting though. Inspiration from Erlang is present in many of these systems, whether they re-implement the exact concepts or not.