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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/7028041739973c3dc17b23a98c65c892f41f0647

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

commit 7028041739973c3dc17b23a98c65c892f41f0647
Merge: aca4fde... 5fca973...
Author: Simon Peyton Jones <[email protected]>
Date:   Wed May 4 16:37:08 2011 +0100

    Merge branch monad-comp onto master
    
    This patch implements monad comprehensions, Trac #4370.
    Thanks to Nils Schweinsberg for doing most of the heavy lifting.
    
    I did quite a lot of related refactoring as well.  Notably:
    
    * Combined TransformStmt and GroupStmt into a single
      constructor TransStmt; they share a lot of code.
      I also made TransStmt into a record; it has a lot of fields.
    
    * Remove the "result expression" field of HsDo, and instead
      implement LastStmt, which is expected to be at the end
      of a list of Stmts
    
    * Generalise and tidy up the typechecking of monad comprehensions
    
    * Do-notation in arrows is marked with HsStmtContext = ArrowExpr
    
    * tcMDoStmt (which was only used for arrows) is moved
      to TcArrows, and renamed tcArrDoStmt
    
    * Improved documentation in the user manual
    
    * Lots of other minor changes

 compiler/deSugar/Check.lhs        |    6 +-
 compiler/deSugar/Coverage.lhs     |   83 +++---
 compiler/deSugar/DsArrows.lhs     |   15 +-
 compiler/deSugar/DsExpr.lhs       |  215 +++----------
 compiler/deSugar/DsGRHSs.lhs      |    4 +-
 compiler/deSugar/DsListComp.lhs   |  535 ++++++++++++++++++++++-----------
 compiler/deSugar/DsMeta.hs        |   16 +-
 compiler/hsSyn/Convert.lhs        |   15 +-
 compiler/hsSyn/HsExpr.lhs         |  342 ++++++++++++++--------
 compiler/hsSyn/HsLit.lhs          |   18 +-
 compiler/hsSyn/HsPat.lhs          |    4 +-
 compiler/hsSyn/HsUtils.lhs        |   68 +++--
 compiler/main/DynFlags.hs         |    6 +-
 compiler/main/HscMain.lhs         |    2 +-
 compiler/parser/Lexer.x           |    1 +
 compiler/parser/Parser.y.pp       |   20 +-
 compiler/parser/RdrHsSyn.lhs      |   46 +--
 compiler/prelude/PrelNames.lhs    |   37 ++-
 compiler/rename/RnBinds.lhs       |    6 +-
 compiler/rename/RnExpr.lhs        |  425 +++++++++++++++++---------
 compiler/typecheck/TcArrows.lhs   |   93 +++++--
 compiler/typecheck/TcExpr.lhs     |   28 ++-
 compiler/typecheck/TcGenDeriv.lhs |   15 +-
 compiler/typecheck/TcHsSyn.lhs    |   56 ++--
 compiler/typecheck/TcMatches.lhs  |  603 +++++++++++++++++++++++++------------
 compiler/typecheck/TcPat.lhs      |   26 +-
 compiler/typecheck/TcRnDriver.lhs |   51 ++--
 compiler/typecheck/TcRnMonad.lhs  |    5 -
 compiler/typecheck/TcRnTypes.lhs  |    2 +
 compiler/typecheck/TcSMonad.lhs   |    3 +-
 compiler/typecheck/TcUnify.lhs    |    2 +-
 docs/users_guide/flags.xml        |    6 +
 docs/users_guide/glasgow_exts.xml |  228 ++++++++++++++
 33 files changed, 1938 insertions(+), 1044 deletions(-)




_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to