X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=NormalizeTools.hs;h=4eedb15c6be6505c4e28e41ef2b6a5cf1cbf88d2;hb=1a10d214e6ffc7097c0f4bddf16f0dd87b5355a8;hp=8e57ba8f2ec2446301ebcf22ec83e03f577470b7;hpb=b4ae262efb842ce254721f0f9ed9f0936241e094;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/NormalizeTools.hs b/NormalizeTools.hs index 8e57ba8..4eedb15 100644 --- a/NormalizeTools.hs +++ b/NormalizeTools.hs @@ -119,6 +119,11 @@ subeverywhere trans (App a b) = do b' <- trans b return $ App a' b' +subeverywhere trans (Let (NonRec b bexpr) expr) = do + bexpr' <- trans bexpr + expr' <- trans expr + return $ Let (NonRec b bexpr') expr' + subeverywhere trans (Let (Rec binds) expr) = do expr' <- trans expr binds' <- mapM transbind binds @@ -151,7 +156,7 @@ subeverywhere trans (Cast expr ty) = do expr' <- trans expr return $ Cast expr' ty -subeverywhere trans expr = error $ "NormalizeTools.subeverywhere Unsupported expression: " ++ show expr +subeverywhere trans expr = error $ "\nNormalizeTools.subeverywhere: Unsupported expression: " ++ show expr -- Apply the given transformation to all expressions, except for direct -- arguments of an application