X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=sidebyside;f=afp%2Fa10%2Fa10.icl;h=1da0267d4bc158eed38d62003e95815458401230;hb=d26be584859f046d29708d03c41861d421cefc6d;hp=838f340620c69cdefad39022d62678f7a28c3720;hpb=e93ca347c979046dff47bdd1f12c582a6bf70cac;p=clean-tests.git diff --git a/afp/a10/a10.icl b/afp/a10/a10.icl index 838f340..1da0267 100644 --- a/afp/a10/a10.icl +++ b/afp/a10/a10.icl @@ -78,6 +78,14 @@ eval (WhileContainerBelow _ action) s = eval (action :. whileContainerBelow action) s = pure s +opt :: (Action a b) -> Action a b +opt (WhileContainerBelow b a) = WhileContainerBelow b (opt a) +opt (Wait bm :. b) = opt (bm.f2 b) +opt (a :. Wait bm) = opt (bm.t2 a) +opt (a :. b) = opt a :. opt b +opt x = x + +Start = opt (moveToShip :. wait :. moveDown) //print :: (Action i f) [String] -> [String] //print (MoveToShip _ _) s = ["Move to ship":s] //print (MoveToQuay _ _) s = ["Move to quay":s]