@@ -147,16 +147,16 @@ expression (A region expr) =
147 return $ function [] (stmts ++ [ ret exp ]) `call` []
147 return $ function [] (stmts ++ [ ret exp ]) `call` []
149 MultiIf branches ->
149 MultiIf branches ->
150− do branches' <- forM branches $ \(b,e) -> (,) <$> expression b <*> expression e
150+ do branches' <- forM branches $ \(b,e) -> (,) <$> expression b <*> expression e
151− return $ case last branches of
151+ return $ case last branches of
152− (A _ (Var (Var.Canonical (Var.Module "Basics") "otherwise")), _) ->
152+ (A _ (Var (Var.Canonical (Var.Module "Basics") "otherwise")), _) ->
153− safeIfs branches'
153+ safeIfs branches'
154− (A _ (Literal (Boolean True)), _) -> safeIfs branches'
154+ (A _ (Literal (Boolean True)), _) -> safeIfs branches'
155− _ -> ifs branches' (throw "If" region)
155+ _ -> ifs branches' (throw "If" region)
157− safeIfs branches = ifs (init branches) (snd (last branches))
157+ safeIfs branches = ifs (init branches) (snd (last branches))
158− ifs branches finally = foldr iff finally branches
158+ ifs branches finally = foldr iff finally branches
159− iff (if', then') else' = CondExpr () if' then' else'
159+ iff (if', then') else' = CondExpr () if' then' else'
161 Case e cases ->
161 Case e cases ->
162 do (tempVar,initialMatch) <- Case.toMatch cases
162 do (tempVar,initialMatch) <- Case.toMatch cases