if Monoid.getAny $
-- trace ("Trying to apply transform " ++ name ++ " to:\n" ++ showSDoc (nest 4 $ ppr expr') ++ "\nType: \n" ++ (showSDoc $ nest 4 $ ppr $ CoreUtils.exprType expr') ++ "\n")
changed
- then
+ then do
-- trace ("Applying transform " ++ name ++ " to:\n" ++ showSDoc (nest 4 $ ppr expr') ++ "\nType: \n" ++ (showSDoc $ nest 4 $ ppr $ CoreUtils.exprType expr') ++ "\n"
+ -- ++ "Context: " ++ show context ++ "\n"
-- ++ "Result of applying " ++ name ++ ":\n" ++ showSDoc (nest 4 $ ppr expr'') ++ "\n" ++ "Type: \n" ++ (showSDoc $ nest 4 $ ppr $ CoreUtils.exprType expr'') ++ "\n" ) $
+ Trans.lift $ MonadState.modify tsTransformCounter (+1)
applyboth first (name, second) context expr''
else
-- trace ("No changes") $
return (b, e')
subeverywhere trans c (Lam x expr) = do
- expr' <- trans (Other:c) expr
+ expr' <- trans (LambdaBody:c) expr
return $ Lam x expr'
subeverywhere trans c (Case scrut b t alts) = do