@@ -233,20 +233,20 @@ data Phase = CompileTime | RunTime
233-- Generate a simple case tree
233-- Generate a simple case tree
234-- Work Right to Left
234-- Work Right to Left
236−simpleCase :: Bool -> Bool -> Bool ->
236+simpleCase :: Bool -> SC -> Bool ->
237 Phase -> FC -> [Int] -> [Type] ->
237 Phase -> FC -> [Int] -> [Type] ->
238 [([Name], Term, Term)] ->
238 [([Name], Term, Term)] ->
239 ErasureInfo ->
239 ErasureInfo ->
240 TC CaseDef
240 TC CaseDef
241−simpleCase tc cover reflect phase fc inacc argtys cs erInfo
241+simpleCase tc defcase reflect phase fc inacc argtys cs erInfo
242− = sc' tc cover phase fc (filter (\(_, _, r) ->
242+ = sc' tc defcase phase fc (filter (\(_, _, r) ->
243 case r of
243 case r of
244 Impossible -> False
244 Impossible -> False
245 _ -> True) cs)
245 _ -> True) cs)
247− sc' tc cover phase fc []
247+ sc' tc defcase phase fc []
248 = return $ CaseDef [] (UnmatchedCase "No pattern clauses") []
248 = return $ CaseDef [] (UnmatchedCase "No pattern clauses") []
249− sc' tc cover phase fc cs
249+ sc' tc defcase phase fc cs
250 = let proj = phase == RunTime
250 = let proj = phase == RunTime
251 vnames = fstT (head cs)
251 vnames = fstT (head cs)
252 pats = map (\ (avs, l, r) ->
252 pats = map (\ (avs, l, r) ->
@@ -258,7 +258,7 @@ simpleCase tc cover reflect phase fc inacc argtys cs erInfo
258 ns = take numargs args
258 ns = take numargs args
259 (ns', ps') = order [(n, i `elem` inacc) | (i,n) <- zip [0..] ns] pats
259 (ns', ps') = order [(n, i `elem` inacc) | (i,n) <- zip [0..] ns] pats
260 (tree, st) = runCaseBuilder erInfo
260 (tree, st) = runCaseBuilder erInfo
261− (match ns' ps' (defaultCase cover))
261+ (match ns' ps' defcase)
262 ([], numargs, [])
262 ([], numargs, [])
263 t = CaseDef ns (prune proj (depatt ns' tree)) (fstT st) in
263 t = CaseDef ns (prune proj (depatt ns' tree)) (fstT st) in
264 if proj then return (stripLambdas t)
264 if proj then return (stripLambdas t)