[Combined-line mode checks bidirectionalizability Kazutaka Matsuda **20100914053811 Ignore-this: e9f236530ca5bcf78d30b35afb7e2781 ] conflictor [ hunk ./Main.hs 260 - _ | isNormalMode conf -> - print $ outputCode conf False (cprog) (typeInference cprog) - _ | isShapifyMode conf -> - print $ outputCode conf False (cprog) (shapify $ typeInference cprog) - _ | isShapifyPlusMode conf -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) - _ -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) + _ -> print $ renderCode conf cprog ] : hunk ./Main.hs 261 - print $ outputCode conf False (cprog) (typeInference cprog) + let transformed = typeInference cprog + in checkAndDoBidirectionalize conf False cprog transformed conflictor {{ : hunk ./Main.hs 260 - _ | isNormalMode conf -> - print $ outputCode conf False (cprog) (typeInference cprog) - _ | isShapifyMode conf -> - print $ outputCode conf False (cprog) (shapify $ typeInference cprog) - _ | isShapifyPlusMode conf -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) - _ -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) + _ -> print $ renderCode conf cprog : hunk ./Main.hs 261 - print $ outputCode conf False (cprog) (typeInference cprog) + let transformed = typeInference cprog + in checkAndDoBidirectionalize conf False cprog transformed }} [] : hunk ./Main.hs 263 - print $ outputCode conf False (cprog) (shapify $ typeInference cprog) - _ | isShapifyPlusMode conf -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) - _ -> - print $ outputCode conf True (cprog) (introNat $ shapify $ typeInference cprog) + let transformed = shapify $ typeInference cprog + in checkAndDoBidirectionalize conf False cprog transformed + _ | isShapifyPlusMode conf || True -> + let transformed = introNat $ shapify $ typeInference cprog + in checkAndDoBidirectionalize conf True cprog transformed hunk ./Main.hs 270 + where checkAndDoBidirectionalize conf isShapify orig ast = + if b18nMode conf == NoB18n || b18nMode conf == SemanticB18n then + (print $ outputCode conf isShapify orig ast) + else + maybe (print $ outputCode conf isShapify orig ast) + putStrLn + (checkBidirectionalizability ast) hunk ./SemSyn.hs 223 --- Just (e,d) : not treeless because of d +-- Just (e,d) : not treeless because of e in d hunk ./SemSyn.hs 235 --- Nothing : treeless --- Just (e,d) : not treeless because of d +-- Nothing : affine +-- Just (vs,d) : not affine because of vs in d