← Back to context

Comment by Thaxll

9 days ago

No language protects from dead lock.

Not true! There are a fair number of them, and they're even reasonably general-purpose, e.g. https://www.ponylang.io/

Most that can recall achieve this by simply not having any locks at all. That's feasible with some careful design.

Outside proof-oriented languages though, I'm not aware of any that prevent livelocks, much less both. When excluding stuff that's single threaded but might otherwise qualify, e.g. Elm. "Lack of progress" is what most care about though, and yeah that realm is much more "you give up too much to get that guarantee" in nearly all cases (e.g. no turing completeness).

I probably agree that they don't protect you from all deadlocks, but some languages protect you from some dead locks.