ref: 254b07675e1a5348f2a8723f55e6b5b1b18a4721
dir: purgatorio/module/watchvars.m
Watchvars: module { PATH: con "/dis/lib/watchvars.dis"; Watchvar: adt[T] { c: chan of (T, chan of T); new: fn(v: T): Watchvar[T]; get: fn(e: self Watchvar[T]): T; set: fn(e: self Watchvar[T], v: T); wait: fn(e: self Watchvar[T]): T; waitc: fn(e: self Watchvar[T]): (T, chan of T); waited: fn(e: self Watchvar[T], ic: chan of T, v: T); }; };