X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTask.dcl;h=2a826790e4d94a17f24420bb2690be44145170ee;hb=6d956995e169ae8fd44d62e26e35d499a9660225;hp=b1510af0e520ef727993c938e841cb1abe87293c;hpb=18c1286739897b65578e87b17167c6cef1922a3b;p=mTask.git diff --git a/mTask.dcl b/mTask.dcl index b1510af..2a82679 100644 --- a/mTask.dcl +++ b/mTask.dcl @@ -90,10 +90,15 @@ class var2 v where class sds v where sds :: ((v t Upd)->In t (Main (v c s))) -> (Main (v c s)) | type, mTaskType, toCode t con :: ((v t Expr) ->In t (Main (v c s))) -> (Main (v c s)) | type t +class namedsds v where + namedsds :: ((v t Upd)->In (Named t String) (Main (v c s))) -> (Main (v c s)) | type, mTaskType, toCode t +class sdspub v where pub :: (v t Upd) -> v t Expr | type t class seq v where (>>=.) infixr 0 :: (v t p) ((v t Expr) -> (v u q)) -> (v u Stmt) | type t & type u (:.) infixr 0 :: (v t p) (v u q) -> v u Stmt | type t & type u +class retrn v where + retrn :: v () Expr class step` v where (>>*.) infixl 1 :: (v t p) ((v t Expr) -> [Step v u]) -> v u Stmt | type t & type u :: Step v t = E.p.q: Cond (v Bool q) (v t p) | E.p: Ever (v t p) @@ -189,6 +194,7 @@ instance typeSelector Bool instance typeSelector a :: In a b = In infix 0 a b +:: Named a b = Named infix 1 a b read` :: Int (ReadWrite a) State` -> (a,State`) | dyn a