Remix.run Logo
unbrice 4 days ago

It means that the language and runtime both agree not to look at your dead-end state, so no-one can say it's their fault ;)

For example I can define a notsemaphore actor that calls a callback once an internal count reaches 0, and then I can forget to decrement it and so it will never reach 0. But technically this didn't involve synchronization so there isn't a stack trace to tell me why is my program stuck and somehow this is better.

gpderetta 4 days ago | parent [-]

As someone that has spent the last week debugging a possible deadlock in pure async message passing code, I'm not amused :).