3 ms·
> It's a part of the semantics of the runtime: This is implied. It would be absurd to have a different static and runtime semantics. in fact, the core goal for
by madsbuch 4y ago
> It's a part of the semantics of the runtime:
This is implied. It would be absurd to have a different static and runtime semantics. in fact, the core goal for formal methods is a statically be able to reason about runtime dynamics.
Just like it would be absurd to build a compiler for C where "+" in fact is treated as "-", it would be absurd to build a compiler and runtime system for, eg., Elixir that is not able to execute GenServers.
- illiarian 4y ago> This is implied. You'd be surprised how many people miss that runtime drives this. I've seen many discussions where people claimed "you can implement all this is a library" :) > it would be absurd to build a compiler and runtime system for, eg., Elixir that is not able to execute GenServers. Well, Akka did it on top of JVM: https://doc.akka.io/docs/akka/current/typed/fault-tolerance.html#supervision https://doc.akka.io/docs/akka/current/typed/fault-tolerance.... Can't say about its limitations though.
- madsbuch 4y ago> You'd be surprised how many people miss that runtime drives this. I've seen many discussions where people claimed "you can implement all this is a library" :) I undrstand, everything concurrency is definitely not easy to implement in "User land" and is something you want good primitives for – why I am also amaxed over this project as they must have embedded that functionality (the scheduler) in the executable (Which they also say they did). > Well, Akka did it on top of JVM ... > Akka is a toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala. Akka does not seem to claim that they build a new runtime for BEAM languages?