• simonpj@microsoft.com's avatar
    Tidy up rebindable syntax for MDo · ba05282d
    simonpj@microsoft.com authored
    For a long time an 'mdo' expression has had a SyntaxTable
    attached to it.  However, we're busy deprecating SyntaxTables
    in favour of rebindable syntax attached to individual Stmts,
    and MDoExpr was totally inconsistent with DoExpr in this
    regard.
    
    This patch tidies it all up.  Now there's no SyntaxTable on
    MDoExpr, and 'modo' is generally handled much more like 'do'.
    
    There is resulting small change in behaviour: now MonadFix is
    required only if you actually *use* recursion in mdo. This
    seems consistent with the implicit dependency analysis that
    is done for mdo.
    
    Still to do:
      * Deal with #4148 (this patch is on the way)
      * Get rid of the last remaining SyntaxTable on HsCmdTop
    ba05282d
HsExpr.lhs 48 KB