diff options
| author | Ian Lynagh <igloo@earth.li> | 2010-12-01 18:11:17 +0000 |
|---|---|---|
| committer | Ian Lynagh <igloo@earth.li> | 2010-12-01 18:11:17 +0000 |
| commit | 7217f562ed08b7ef8a702065d437f7b6366aea88 (patch) | |
| tree | dadcf51b27ecd90cbceed9ab86308808f1bbf7a7 | |
| parent | 6dceb65b092ba63975c93dc8b15442deb32e6e22 (diff) | |
| download | haskell-7217f562ed08b7ef8a702065d437f7b6366aea88.tar.gz | |
Remove NewQualifiedOperators
The extension was rejected by Haskell', and deprecated in 7.0.
| -rw-r--r-- | compiler/main/DynFlags.hs | 5 | ||||
| -rw-r--r-- | compiler/parser/Lexer.x | 13 | ||||
| -rw-r--r-- | docs/users_guide/flags.xml | 7 | ||||
| -rw-r--r-- | docs/users_guide/glasgow_exts.xml | 37 |
4 files changed, 3 insertions, 59 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index df51f94906..5cd036170a 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -357,7 +357,6 @@ data ExtensionFlag | Opt_ImpredicativeTypes | Opt_TypeOperators | Opt_PackageImports - | Opt_NewQualifiedOperators | Opt_ExplicitForAll | Opt_AlternativeLayoutRule | Opt_AlternativeLayoutRuleTransitional @@ -1627,9 +1626,7 @@ xFlags = [ ( "OverlappingInstances", Opt_OverlappingInstances, nop ), ( "UndecidableInstances", Opt_UndecidableInstances, nop ), ( "IncoherentInstances", Opt_IncoherentInstances, nop ), - ( "PackageImports", Opt_PackageImports, nop ), - ( "NewQualifiedOperators", Opt_NewQualifiedOperators, - \_ -> deprecate "The new qualified operator syntax was rejected by Haskell'" ) + ( "PackageImports", Opt_PackageImports, nop ) ] defaultFlags :: [DynFlag] diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x index 111821594d..2d4a225b7b 100644 --- a/compiler/parser/Lexer.x +++ b/compiler/parser/Lexer.x @@ -369,10 +369,8 @@ $tab+ { warn Opt_WarnTabs (text "Warning: Tab character") } -- ToDo: - move `var` and (sym) into lexical syntax? -- - remove backquote from $special? <0> { - @qual @varsym / { ifExtension oldQualOps } { idtoken qvarsym } - @qual @consym / { ifExtension oldQualOps } { idtoken qconsym } - @qual \( @varsym \) / { ifExtension newQualOps } { idtoken prefixqvarsym } - @qual \( @consym \) / { ifExtension newQualOps } { idtoken prefixqconsym } + @qual @varsym { idtoken qvarsym } + @qual @consym { idtoken qconsym } @varsym { varsym } @consym { consym } } @@ -1770,8 +1768,6 @@ inRulePragBit :: Int inRulePragBit = 19 rawTokenStreamBit :: Int rawTokenStreamBit = 20 -- producing a token stream with all comments included -newQualOpsBit :: Int -newQualOpsBit = 21 -- Haskell' qualified operator syntax, e.g. Prelude.(+) recBit :: Int recBit = 22 -- rec alternativeLayoutRuleBit :: Int @@ -1817,10 +1813,6 @@ qqEnabled flags = testBit flags qqBit -- inRulePrag flags = testBit flags inRulePragBit rawTokenStreamEnabled :: Int -> Bool rawTokenStreamEnabled flags = testBit flags rawTokenStreamBit -newQualOps :: Int -> Bool -newQualOps flags = testBit flags newQualOpsBit -oldQualOps :: Int -> Bool -oldQualOps flags = not (newQualOps flags) alternativeLayoutRule :: Int -> Bool alternativeLayoutRule flags = testBit flags alternativeLayoutRuleBit relaxedLayout :: Int -> Bool @@ -1878,7 +1870,6 @@ mkPState flags buf loc = .|. datatypeContextsBit `setBitIf` xopt Opt_DatatypeContexts flags .|. transformComprehensionsBit `setBitIf` xopt Opt_TransformListComp flags .|. rawTokenStreamBit `setBitIf` dopt Opt_KeepRawTokenStream flags - .|. newQualOpsBit `setBitIf` xopt Opt_NewQualifiedOperators flags .|. alternativeLayoutRuleBit `setBitIf` xopt Opt_AlternativeLayoutRule flags .|. relaxedLayoutBit `setBitIf` xopt Opt_RelaxedLayout flags .|. nondecreasingIndentationBit `setBitIf` xopt Opt_NondecreasingIndentation flags diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index b6ace8d23a..c8e5dfc1d6 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -832,13 +832,6 @@ <entry><option>-XNoMagicHash</option></entry> </row> <row> - <entry><option>-XNewQualifiedOperators</option></entry> - <entry>Enable <link linkend="new-qualified-operators">new - qualified operator syntax</link></entry> - <entry>dynamic</entry> - <entry><option>-XNoNewQualifiedOperators</option></entry> - </row> - <row> <entry><option>-XExplicitForALl</option></entry> <entry>Enable <link linkend="explicit-foralls">explicit universal quantification</link>. Implied by <option>-XScopedTypeVariables</option>, diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index a29e7478c8..e57b294677 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -450,43 +450,6 @@ Indeed, the bindings can even be recursive. </para> </sect2> - <sect2 id="new-qualified-operators"> - <title>New qualified operator syntax</title> - - <para>A new syntax for referencing qualified operators is - planned to be introduced by Haskell', and is enabled in GHC - with - the <option>-XNewQualifiedOperators</option><indexterm><primary><option>-XNewQualifiedOperators</option></primary></indexterm> - option. In the new syntax, the prefix form of a qualified - operator is - written <literal><replaceable>module</replaceable>.(<replaceable>symbol</replaceable>)</literal> - (without NewQualifiedOperators this would - be <literal>(<replaceable>module</replaceable>.<replaceable>symbol</replaceable>)</literal>), - and the infix form is - written <literal>`<replaceable>module</replaceable>.(<replaceable>symbol</replaceable>)`</literal> - (without NewQualifiedOperators this would - be <literal>`<replaceable>module</replaceable>.<replaceable>symbol</replaceable>`</literal>. - For example: -<programlisting> - add x y = Prelude.(+) x y - subtract y = (`Prelude.(-)` y) -</programlisting> - The new form of qualified operators is intended to regularise - the syntax by eliminating odd cases - like <literal>Prelude..</literal>. For example, - when <literal>NewQualifiedOperators</literal> is on, it is possible to - write the enumerated sequence <literal>[Monday..]</literal> - without spaces, whereas without NewQualifiedOperators this would be a - reference to the operator ‘<literal>.</literal>‘ - from module <literal>Monday</literal>.</para> - - <para>When <option>-XNewQualifiedOperators</option> is on, the old - syntax for qualified operators is not accepted, so this - option may cause existing code to break.</para> - - </sect2> - - <!-- ====================== HIERARCHICAL MODULES ======================= --> |
