[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