gengeng
[clean-tests.git] / uds / ASDS.icl
index 041e2c8..4da3be4 100644 (file)
@@ -12,11 +12,15 @@ import ASDS.Lens
 import ASDS.Select
 import ASDS.Parallel
 
-sds :: (sds m p r w) -> SDS m p r w | read sds & write sds & Monad m
+sds :: (sds m p r w) -> SDS m p r w | read, write, observe sds & Monad m
 sds s = SDS s (pure ())
 
 instance read SDS where read (SDS s _) p = read s p
 instance write SDS where write (SDS sds _) p w = write sds p w
+instance observe SDS
+where
+       identity (SDS sds _) c = identity sds c
+       observe (SDS sds _) p oid handle = observe sds p oid handle
 
 getShare :: (sds m () r w) -> PViewT m r | Monad m & read sds & TC r & TC w
 getShare s = read s () >>= \v->case v of