diff options
Diffstat (limited to 'module/watchvars.m')
| -rw-r--r-- | module/watchvars.m | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/module/watchvars.m b/module/watchvars.m new file mode 100644 index 00000000..1b80e6be --- /dev/null +++ b/module/watchvars.m @@ -0,0 +1,13 @@ +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); + }; +}; |
