summaryrefslogtreecommitdiff
path: root/assignment-13/uFPL.dcl
diff options
context:
space:
mode:
authorCamil Staps2018-01-06 10:41:42 +0100
committerCamil Staps2018-01-06 15:03:15 +0100
commitd447a03d760faa9ce6ad00acb9284362f1f38613 (patch)
tree9d2a84bab51e9db69b251b6ee06ccae693a1300a /assignment-13/uFPL.dcl
parentStart iTasks Simulator (diff)
Continue simulator
Diffstat (limited to 'assignment-13/uFPL.dcl')
-rw-r--r--assignment-13/uFPL.dcl5
1 files changed, 3 insertions, 2 deletions
diff --git a/assignment-13/uFPL.dcl b/assignment-13/uFPL.dcl
index dd9c047..1ce2ac4 100644
--- a/assignment-13/uFPL.dcl
+++ b/assignment-13/uFPL.dcl
@@ -17,9 +17,10 @@ from uFPL.C import :: CType, :: CExpr, :: CBody, :: CVar, :: CFun, :: CProg
:: Shares
= NoShares
- | E.t rw: Shares (UShared t rw) Shares
+ | E.t rw: Shares (UShared t rw) Shares & Expr t
removeDupShares :: Shares -> Shares
+sharesMap :: (A.t rw: (UShared t rw) -> a | Expr t) Shares -> [a]
class allShares t
where
@@ -29,7 +30,7 @@ where
allShares x :== removeDupShares (allShares` x)
instance allShares [t] | allShares t
-instance allShares (Expr t rw)
+instance allShares (Expr t rw) | Expr t
instance allShares Trigger
instance allShares Rule
instance allShares NamedRule