Simon Peyton Jones pushed to branch wip/T20264 at Glasgow Haskell Compiler / GHC Commits: f694f932 by Simon Peyton Jones at 2025-10-19T22:40:09+01:00 Simplify mkcoreAbsLams a bit ..Needs documentation - - - - - 1 changed file: - compiler/GHC/Core/Utils.hs Changes: ===================================== compiler/GHC/Core/Utils.hs ===================================== @@ -3133,8 +3133,8 @@ So: * When we make an AbsVars list, we close over the free vars of the unfoldings of any tyvars in it. So if `b{=Maybe a}` is in the list then so is `a` -* `mkCoreAbsLams` forms a lambda abstraction pushing the tyvar bindings - into the body: +* `mkCoreAbsLams` (more generally `mkPolyAbsLams`) forms a lambda abstraction pushing + the tyvar bindings into the body: mkCoreAbsLams [a, b=[a], x:b] body = \a. \(x:[a]). let @b = [a] in body @@ -3175,9 +3175,9 @@ mkPolyAbsLams (getter,setter) bndrs body = Lam (setter var1 bndr) (go unf_tvs binds' bndrs) | isId var, change_ty || change_unf - , let binds' | isDeadBinder var = binds - | otherwise = NonRec bndr (Var id2) : binds - = Lam (setter id2 bndr) (go unf_tvs binds' bndrs) +-- , let binds' | isDeadBinder var = binds +-- | otherwise = NonRec bndr (Var id2) : binds + = Lam (setter id2 bndr) (go unf_tvs binds bndrs) | otherwise = Lam bndr (go unf_tvs binds bndrs) View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f694f932f348e61c0cd6c1c65cec4ea9... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f694f932f348e61c0cd6c1c65cec4ea9... You're receiving this email because of your account on gitlab.haskell.org.