diff options
Diffstat (limited to 'compiler/simplCore/SetLevels.hs')
-rw-r--r-- | compiler/simplCore/SetLevels.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/simplCore/SetLevels.hs b/compiler/simplCore/SetLevels.hs index c28be3ade9..9c37434910 100644 --- a/compiler/simplCore/SetLevels.hs +++ b/compiler/simplCore/SetLevels.hs @@ -316,7 +316,7 @@ lvlExpr env expr@(_, AnnApp _ _) = do let (lapp, rargs) = left (n_val_args - arity) expr [] rargs' <- mapM (lvlMFE False env) rargs lapp' <- lvlMFE False env lapp - return (foldl App lapp' rargs') + return (mkApps lapp' rargs') where n_val_args = count (isValArg . deAnnotate) args arity = idArity f @@ -335,7 +335,7 @@ lvlExpr env expr@(_, AnnApp _ _) = do _otherwise -> do args' <- mapM (lvlMFE False env) args fun' <- lvlExpr env fun - return (foldl App fun' args') + return (mkApps fun' args') -- We don't split adjacent lambdas. That is, given -- \x y -> (x+1,y) |