[commit: ghc] ghc-8.0: DsExpr: Rip out static/dynamic check in list desugaring (f733608)
git at git.haskell.org
git at git.haskell.org
Thu Mar 24 21:59:58 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.0
Link : http://ghc.haskell.org/trac/ghc/changeset/f733608e5e303ebcd0002c329f44fa056cb99b88/ghc
>---------------------------------------------------------------
commit f733608e5e303ebcd0002c329f44fa056cb99b88
Author: Ben Gamari <bgamari.foss at gmail.com>
Date: Wed Mar 23 17:24:45 2016 +0100
DsExpr: Rip out static/dynamic check in list desugaring
Previously we would try to break explicit lists into a dynamic prefix
and static tail and desugar the former into a `build` expression.
Unfortunately, this heuristic resulted in surprising behavior
(see #11710) and wasn't pulling its weight. Here we drop it (along with
the `-fsimple-list-literals` flag), leaving only the list length
heuristic to determine whether `build` or cons list desugaring should be
used.
Test Plan: Validate
Reviewers: simonpj, austin
Reviewed By: simonpj
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2023
GHC Trac Issues: #11710
(cherry picked from commit 0db05941668814094c2b18b3d35e1deaed36c210)
>---------------------------------------------------------------
f733608e5e303ebcd0002c329f44fa056cb99b88
compiler/deSugar/DsExpr.hs | 95 +++++++---------------
compiler/main/DynFlags.hs | 2 -
.../tests/simplCore/should_compile/T3234.stderr | 21 +++--
.../tests/simplCore/should_compile/T6056.stderr | 1 -
4 files changed, 41 insertions(+), 78 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f733608e5e303ebcd0002c329f44fa056cb99b88
More information about the ghc-commits
mailing list