-
Dan Frumin authored
- Implement the concurrent runners library - Changed the shared bag specification to allow the predicate `P` to depend on the bag itself -- this is needed for the `isRunner` invariant: since the bag is *part* of the `Runner` class, the bag is constructed/allocated before the `Runner` itself is construted; but we want the bag invariant to depend on the `Runner` instance.
Dan Frumin authored- Implement the concurrent runners library - Changed the shared bag specification to allow the predicate `P` to depend on the bag itself -- this is needed for the `isRunner` invariant: since the bag is *part* of the `Runner` class, the bag is constructed/allocated before the `Runner` itself is construted; but we want the bag invariant to depend on the `Runner` instance.