5 ms·
You frame that as if python doesn’t have a choice, but it chose to have explicit syntax. There’s no reason a python-like language couldn’t have deeper semantic
by operator-name 1y ago
You frame that as if python doesn’t have a choice, but it chose to have explicit syntax.
There’s no reason a python-like language couldn’t have deeper semantics for async, and language level implementation.
- zbentley 1y agoWell, there aren't reasons why Python couldn't have that, but there certainly are good reasons why the Python maintainers decided that type of runtime was not appropriate for that specific language--not least among them that maintaining a scheduling/pre-empting runtime (which is the only approach I'm aware of that works here without basically making Python into an entirely unrelated language) is very labor intensive! There's a reason there aren't usable alternative implementations of ERTS/BEAM, and a reason why gccgo is maintained in fits and starts, and why the Python GIL has been around for so long. Getting that type of system right is very, very hard.
- codethief 1y ago> maintaining a scheduling/pre-empting runtime (which is the only approach I'm aware of that works here without basically making Python into an entirely unrelated language) is very labor intensive! There's a reason there aren't usable alternative implementations of ERTS/BEAM […] You seem to know a lot about PL. Could you elaborate on that reason and on the maintenance burden of a preemptive runtime?