eli5: futurelock avoidance?

1 view
Skip to first unread message

Raoul Duke

unread,
Nov 9, 2025, 8:47:01 AM (4 days ago) Nov 9
to pi...@googlegroups.com
which concurrency paradigms cannnot have futurelock, or make it easy/deterministic to debug?

David Barbour

unread,
Nov 9, 2025, 12:33:49 PM (3 days ago) Nov 9
to pi...@googlegroups.com
Futurelock is a dataflow deadlock. I've seen it called datalock.

Every general purpose concurrency paradigm can model futurelock or equivalent. It's easiest to avoid in cases where dataflow is visible and static, e.g. boxes and wires. Regardless, it is much more compositional in nature than a mutex deadlock, and is relatively easy to reason.

Session types are essentially dataflow type systems and support static analysis of dataflows, including of deadlock. This is especially useful when working with dynamic or higher order dataflows, e.g. Liskov substitutions of dataflow components, avoiding dependence on a specific implementation. 

Raoul Duke

unread,
Nov 9, 2025, 12:54:15 PM (3 days ago) Nov 9
to pi...@googlegroups.com
In principle, you could avoid this problem if you avoid dependencies between futures. 

is what they said, so how do we get such superpowers in our development systems?
Reply all
Reply to author
Forward
0 new messages