• Dan Frumin's avatar
    Implement concurrent runners · 92e8f6d7
    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.