Concurrency-aware object-oriented programming with roles
summary
A concurrency model makes every object carry a per-task role and enforces three concrete roles: readwrite role, readonly role, pure role. When sharing, objects undergo explicit role transitions so parent and child never have conflicting access; a guarded operation suspends the parent until the child finishes, yielding deterministic-by-default parallelism. Arrays support efficient data-parallelism via slicing that creates view partitions whose elements change roles independently. A prototype language and source-to-source compiler show practical performance and runtime overhead trade-offs.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 5:10Programming model
- 11:45Data parallelism
- 14:14Performance
- 16:05Conclusion
- 17:14Questions
related talks
16mWhen Concurrency Matters: Behaviour-Oriented Concurrency
01h 16mConcurrency Approaches: Past, Present, and Future
39mConcurrent Languages are Functional
36mHow Do People Handle Concurrency?
30mCONQUERING CONCURRENCY WITH FUNCTIONAL PROGRAMMING
46mTour d’horizon de la gestion de la concurrence dans différents langages
38mModeling concurrency in Ruby and beyond
01h 21mStructured Concurrency
