Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/ba56d20d767f0425f6f7515fa9c78b186589b896

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

commit ba56d20d767f0425f6f7515fa9c78b186589b896
Author: Simon Peyton Jones <simo...@microsoft.com>
Date:   Wed Oct 3 11:16:22 2012 +0100

    This big patch re-factors the way in which arrow-syntax is handled
    
    All the work was done by Dan Winograd-Cort.
    
    The main thing is that arrow comamnds now have their own
    data type HsCmd (defined in HsExpr).  Previously it was
    punned with the HsExpr type, which was jolly confusing,
    and made it hard to do anything arrow-specific.
    
    To make this work, we now parameterise
      * MatchGroup
      * Match
      * GRHSs, GRHS
      * StmtLR and friends
    over the "body", that is the kind of thing they
    enclose.  This "body" parameter can be instantiated to
    either LHsExpr or LHsCmd respectively.
    
    Everything else is really a knock-on effect; there should
    be no change (yet!) in behaviour.  But it should be a sounder
    basis for fixing bugs.

 compiler/deSugar/Coverage.lhs         |   78 +++---
 compiler/deSugar/DsArrows.lhs         |  120 +++++-----
 compiler/deSugar/DsExpr.lhs           |   16 +-
 compiler/deSugar/DsGRHSs.lhs          |   22 +-
 compiler/deSugar/DsListComp.lhs       |   40 ++--
 compiler/deSugar/DsMeta.hs            |   44 ++--
 compiler/deSugar/DsUtils.lhs          |   35 ---
 compiler/deSugar/Match.lhs            |    6 +-
 compiler/deSugar/Match.lhs-boot       |    4 +-
 compiler/hsSyn/Convert.lhs            |   18 +-
 compiler/hsSyn/HsBinds.lhs            |    4 +-
 compiler/hsSyn/HsExpr.lhs             |  431 +++++++++++++++++++++------------
 compiler/hsSyn/HsExpr.lhs-boot        |   28 ++-
 compiler/hsSyn/HsUtils.lhs            |   76 +++---
 compiler/main/HscMain.hs              |    6 +-
 compiler/parser/Parser.y.pp           |   58 +++---
 compiler/parser/RdrHsSyn.lhs          |   99 +++++++-
 compiler/rename/RnBinds.lhs           |   69 ++++--
 compiler/rename/RnEnv.lhs             |   40 ++--
 compiler/rename/RnExpr.lhs            |  406 ++++++++++++++++---------------
 compiler/rename/RnExpr.lhs-boot       |   16 +-
 compiler/rename/RnPat.lhs             |    4 +-
 compiler/rename/RnTypes.lhs           |   10 +-
 compiler/typecheck/Inst.lhs           |    5 +-
 compiler/typecheck/TcArrows.lhs       |   69 +++---
 compiler/typecheck/TcBinds.lhs        |    6 +-
 compiler/typecheck/TcExpr.lhs         |    9 +-
 compiler/typecheck/TcGenDeriv.lhs     |   12 +-
 compiler/typecheck/TcHsSyn.lhs        |  182 +++++++++-----
 compiler/typecheck/TcMatches.lhs      |  141 ++++++-----
 compiler/typecheck/TcMatches.lhs-boot |   11 +-
 compiler/typecheck/TcRnDriver.lhs     |   18 +-
 32 files changed, 1177 insertions(+), 906 deletions(-)


Diff suppressed because of size. To see it, use:

    git show ba56d20d767f0425f6f7515fa9c78b186589b896

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to