Preventing deadlocks is not an unsolvable problem.
Preventing deadlocks is not an unsolvable problem. Linear-session-typed process calculi are guaranteed deadlock-free and race-free. (The connection with Rust's ownership type-system makes me wonder if there might be some way to backport this guarantee to Rust, but I suspect the connection doesn't go far enough.) This comes at a price, however: certain process topologies are impossible to construct, and there's no way to ask "give me the first message to arrive on either of these two channels" (no Unix `select()` analogue). The latter in particular bugs me, because `select()` is a necessity in practice. In general, problems of "guarantee property X" can almost always be solved with a sufficiently advanced type system, but at the cost of (a) inventing and using a sufficiently advanced type system and (b) disallowing some perfectly good programs.
Posted by rntz on Apr 10, 2015, 6:22 PM
Tags
Related issues
- its like owning a personal computer in 1986.
- Not at all, actually.
- A car battery with reduced range is still perfectly useable as a storage battery for a PV system.
- Here in Argentina we are in permanent summer time GMT-3 since a long time, but we should be in GMT-4.
- You should do some basic research yourself.
- Well, actually not.
Raise real-world problems, find people facing the same issue, and discuss solutions.7,000 issues0 comments
pricing (Other)
its like owning a personal computer in 1986.
NewNot at all, actually.
NewA car battery with reduced range is still perfectly useable as a storage battery for a PV system.
Here in Argentina we are in permanent summer time GMT-3 since a long time, but we should be in GMT-4.
You should do some basic research yourself.
Well, actually not.
I have a 2022 mini that I use constantly.
Two observation: 1.
Preventing deadlocks is not an unsolvable problem.
Preventing deadlocks is not an unsolvable problem. Linear-session-typed process calculi are guaranteed deadlock-free and race-free. (The connection with Rust's ownership type-system makes me wonder if there might be some way to backport this guarantee to Rust, but I suspect the connection doesn't go far enough.) This comes at a price, however: certain process topologies are impossible to construct, and there's no way to ask "give me the first message to arrive on either of these two channels" (no Unix `select()` analogue). The latter in particular bugs me, because `select()` is a necessity in practice. In general, problems of "guarantee property X" can almost always be solved with a sufficiently advanced type system, but at the cost of (a) inventing and using a sufficiently advanced type system and (b) disallowing some perfectly good programs.
Comments (0)
No comments yet. Start the discussion.