uds
[clean-tests.git] / uds / ASDS.dcl
index 4a5f0ba..f8ea837 100644 (file)
@@ -3,16 +3,20 @@ definition module ASDS
 from Data.Functor import class Functor
 from Control.Applicative import class Applicative, class <*>, class pure
 from Control.Monad import class Monad
+from Control.Monad.State import :: StateT
 
 import ASDS.Source
 import ASDS.Parallel
 import ASDS.Select
 import ASDS.Lens
 
+:: PViewT m a :== StateT [NRequest m] m a
+:: NRequest m = NRequest String (m ()) Dynamic
+
 //* Read a share with one rewrite step
-class read v :: (v m p r w) p -> m (ReadResult m p r w) | TC r & Monad m
+class read v :: (v m p r w) p -> PViewT m (ReadResult m p r w) | TC r & Monad m
 //* Write a share with one rewrite step
-class write v :: (v m p r w) p w -> m (WriteResult m p r w) | TC w & Monad m
+class write v :: (v m p r w) p w -> PViewT m (WriteResult m p r w) | TC w & Monad m
 
 //* Result of a single read rewrite
 :: ReadResult m p r w
@@ -44,10 +48,10 @@ instance read SDS
 instance write SDS
 
 //* Read a share completely
-getShare :: (sds m () r w) -> m r | Monad m & read sds & TC r & TC w
+getShare :: (sds m () r w) -> PViewT m r | Monad m & read sds & TC r & TC w
 
 //* Write a share completely
-setShare :: w (sds m () r w) -> m () | Monad m & write sds & TC r & TC w
+setShare :: w (sds m () r w) -> PViewT m () | Monad m & write sds & TC r & TC w
 
 //* Update a share completely
-updShare :: (r -> w) (sds m () r w) -> m w | Monad m & read sds & write sds & TC r & TC w
+updShare :: (r -> w) (sds m () r w) -> PViewT m w | Monad m & read sds & write sds & TC r & TC w