[Add an extension to disable n+k patterns Ian Lynagh **20090725134703] { hunk ./compiler/main/DynFlags.hs 229 + | Opt_NPlusKPatterns hunk ./compiler/main/DynFlags.hs 697 + Opt_NPlusKPatterns, hunk ./compiler/main/DynFlags.hs 1813 + -- On by default: + ( "NPlusKPatterns", Opt_NPlusKPatterns, const Supported ), hunk ./compiler/parser/Lexer.x 49 + getPState, hunk ./compiler/parser/Lexer.x 1519 +getPState :: P PState +getPState = P $ \s -> POk s s + hunk ./compiler/parser/RdrHsSyn.lhs 66 -import Lexer ( P, failSpanMsgP, extension, standaloneDerivingEnabled, bangPatEnabled ) +import Lexer hunk ./compiler/parser/RdrHsSyn.lhs 73 +import DynFlags hunk ./compiler/parser/RdrHsSyn.lhs 729 - = do { p <- checkAPat loc e; return (L loc p) } + = do { pState <- getPState + ; p <- checkAPat (dflags pState) loc e + ; return (L loc p) } hunk ./compiler/parser/RdrHsSyn.lhs 735 -checkAPat :: SrcSpan -> HsExpr RdrName -> P (Pat RdrName) -checkAPat loc e = case e of +checkAPat :: DynFlags -> SrcSpan -> HsExpr RdrName -> P (Pat RdrName) +checkAPat dynflags loc e = case e of hunk ./compiler/parser/RdrHsSyn.lhs 772 - | plus == plus_RDR + | dopt Opt_NPlusKPatterns dynflags && (plus == plus_RDR) hunk ./docs/users_guide/flags.xml 708 + + + Disable support for n+k patterns + dynamic + + hunk ./docs/users_guide/glasgow_exts.xml 842 + + + + +n+k patterns + + + +n+k pattern support is enabled by default. To disable +it, you can use the flag. + + + }