[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