[commit: ghc] master: DsExpr: Rip out static/dynamic check in list desugaring (0db0594)
git at git.haskell.org
git at git.haskell.org
Thu Mar 24 09:51:35 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/0db05941668814094c2b18b3d35e1deaed36c210/ghc
>---------------------------------------------------------------
commit 0db05941668814094c2b18b3d35e1deaed36c210
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
>---------------------------------------------------------------
0db05941668814094c2b18b3d35e1deaed36c210
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 0db05941668814094c2b18b3d35e1deaed36c210
More information about the ghc-commits
mailing list