[commit: ghc] master: Treat banged bindings as FunBinds (3729953)

git at git.haskell.org git at git.haskell.org
Tue May 9 02:27:19 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/372995364c52eef15066132d7d1ea8b6760034e6/ghc

>---------------------------------------------------------------

commit 372995364c52eef15066132d7d1ea8b6760034e6
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Mon May 8 17:47:19 2017 -0400

    Treat banged bindings as FunBinds
    
    This reworks the HsSyn representation to make banged variable patterns
    (e.g. !x = e) be represented as FunBinds instead of PatBinds, adding a flag to
    FunRhs to record the bang.
    
    Fixes #13594.
    
    Reviewers: austin, goldfire, alanz, simonpj
    
    Reviewed By: simonpj
    
    Subscribers: simonpj, rwbarton, thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D3525


>---------------------------------------------------------------

372995364c52eef15066132d7d1ea8b6760034e6
 compiler/deSugar/Check.hs                          |  6 ++--
 compiler/deSugar/DsBinds.hs                        |  4 +--
 compiler/deSugar/DsExpr.hs                         |  2 +-
 compiler/hsSyn/Convert.hs                          |  6 ++--
 compiler/hsSyn/HsBinds.hs                          | 40 ++++++++++++++++++++--
 compiler/hsSyn/HsExpr.hs                           | 38 ++++++++++++--------
 compiler/hsSyn/HsUtils.hs                          |  8 +++--
 compiler/parser/Parser.y                           | 34 +++++++++++-------
 compiler/parser/RdrHsSyn.hs                        | 16 +++++----
 compiler/rename/RnBinds.hs                         |  8 ++---
 compiler/typecheck/TcGenDeriv.hs                   | 10 +++---
 compiler/typecheck/TcGenFunctor.hs                 | 13 ++++---
 compiler/typecheck/TcInstDcls.hs                   |  2 +-
 compiler/typecheck/TcMatches.hs                    |  3 +-
 compiler/typecheck/TcPatSyn.hs                     |  4 +--
 compiler/typecheck/TcRnDriver.hs                   |  2 +-
 compiler/typecheck/TcTyDecls.hs                    |  4 +--
 .../parser/should_compile/DumpParsedAst.stderr     |  3 +-
 .../parser/should_compile/DumpRenamedAst.stderr    |  3 +-
 .../should_compile/DumpTypecheckedAst.stderr       |  3 +-
 testsuite/tests/parser/should_compile/T13594.hs    |  8 +++++
 testsuite/tests/parser/should_compile/all.T        |  1 +
 22 files changed, 144 insertions(+), 74 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 372995364c52eef15066132d7d1ea8b6760034e6


More information about the ghc-commits mailing list