6 ms·
Sounds a lot like a language running on the BEAM (e.g. Elixir, Erlang, Gleam, etc): Distributed Computing built in; Durable State (e.g. ETS); Non-stop (i.e hot
by abrookewood 2y ago
Sounds a lot like a language running on the BEAM (e.g. Elixir, Erlang, Gleam, etc): Distributed Computing built in; Durable State (e.g. ETS); Non-stop (i.e hot code upgrades); Actor model.
- kll 2y agoI think a lot of these things sort of come-for-free when you are an actor based language. Like actors are basically little processes communicating with each other, so you've mostly already abstracted away from memory pointers on your local machine, thus, it's trivial to move an actor to a remote computer but continue communicating with it in largely the same fashion. Clearly you need to be wary of latency but otherwise it looks about the same. Actors are single-threaded and have their own private state, so upgrading an actor is "just" replacing old code with new code but the same private data. You don't have to synchronize this access with other threads or similar. Actors just make this easier, which is why you'll probably find such features in languages using actors. Acton has its own run time system though which shares much more with Pony than with BEAM. Pony folks wrote a paper on distributed computing with actors - https://www.doc.ic.ac.uk/~scb12/publications/s.blessing.pdf https://www.doc.ic.ac.uk/~scb12/publications/s.blessing.pdf
- 708145_ 2y agoI read the main feature to be durable storage or in other words persistent actors. Erlang Term Storage (ETS) I thought was in-memory.
- sausagefeet 2y agoMaybe they meant DETS