From: Nathaniel Wesley Filardo Date: Thu, 13 Dec 2012 03:05:32 +0000 (-0500) Subject: Stop being quite so ambitious in Analysis.RuleMode.inv X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=d2b123c32c249065f63570dbbf781130ebdd22f7;p=dyna2 Stop being quite so ambitious in Analysis.RuleMode.inv --- diff --git a/src/Dyna/Analysis/RuleMode.hs b/src/Dyna/Analysis/RuleMode.hs index e0c9f57..399bbde 100644 --- a/src/Dyna/Analysis/RuleMode.hs +++ b/src/Dyna/Analysis/RuleMode.hs @@ -254,13 +254,11 @@ possible cr = case cr of -- XXX this really ought to be done some other way inv :: DFunct -> [ModedVar] -> ModedVar -> [Action] - inv "+" is (MB o) - = case L.partition isFree is of - ([MF fi],bis) -> let cv = "_tmp" - bis' = map varOfMV bis - in [[ OPCall cv bis' "+" - , OPCall fi [o, cv] "-"]] - _ -> [] + inv "+" is [(MB x), (MF y)] (MB o) + = [[ OPCall y [o,x] "-" ]] + + inv "+" is [(MF x), (MB y)] (MB o) + = [[ OPCall x [o,y] "-" ]] inv "-" [(MB x),(MF y)] (MB o) = [[ OPCall y [x,o] "-" ]]