[commit: ghc] master: users-guide: Update language extension implications (4dbc31b)
git at git.haskell.org
git at git.haskell.org
Thu Jan 14 11:44:09 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/4dbc31b8240d98bd7eb4fd0874c7da91797c4e2e/ghc
>---------------------------------------------------------------
commit 4dbc31b8240d98bd7eb4fd0874c7da91797c4e2e
Author: Ben Gamari <ben at smart-cactus.org>
Date: Thu Jan 14 12:08:14 2016 +0100
users-guide: Update language extension implications
>---------------------------------------------------------------
4dbc31b8240d98bd7eb4fd0874c7da91797c4e2e
docs/users_guide/glasgow_exts.rst | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
diff --git a/docs/users_guide/glasgow_exts.rst b/docs/users_guide/glasgow_exts.rst
index 91e0e18..6abe331 100644
--- a/docs/users_guide/glasgow_exts.rst
+++ b/docs/users_guide/glasgow_exts.rst
@@ -2187,7 +2187,8 @@ Visible type application
.. ghc-flag:: -XTypeApplications
- :since: 8.0
+ :implies: :ghc-flag:`-XAllowAmbiguousTypes`
+ :since: 8.0.1
Allow the use of type application syntax.
@@ -2421,6 +2422,8 @@ Type operators
.. ghc-flag:: -XTypeOperators
+ :implies: :ghc-flag:`-XExplicitNamespaces`
+
Allow the use and definition of types with operator names.
In types, an operator symbol like ``(+)`` is normally treated as a type
@@ -2470,6 +2473,8 @@ Liberalised type synonyms
.. ghc-flag:: -XLiberalTypeSynonyms
+ :implies: :ghc-flag:`-XExplicitForAll`
+
Relax many of the Haskell 98 rules on type synonym definitions.
Type synonyms are like macros at the type level, but Haskell 98 imposes
@@ -2546,6 +2551,8 @@ Existentially quantified data constructors
.. ghc-flag:: -XExistentialQuantification
+ :implies: :ghc-flag:`-XExplicitForAll`
+
Allow existentially quantified type variables in types.
The idea of using existential quantification in data type declarations
@@ -3050,7 +3057,7 @@ Generalised Algebraic Data Types (GADTs)
.. ghc-flag:: -XGADTs
- :implies: :ghc-flag:`-XMonoLocalBinds`
+ :implies: :ghc-flag:`-XMonoLocalBinds`, :ghc-flag:`-XGADTSyntax`
Allow use of Generalised Algebraic Data Types (GADTs).
@@ -3272,6 +3279,8 @@ Duplicate record fields
.. ghc-flag:: -XDuplicateRecordFields
+ :implies: :ghc-flag:`-XDisambiguateRecordFields`
+
Allow definition of record types with identically-named fields.
Going beyond :ghc-flag:`-XDisambiguateRecordFields` (see :ref:`disambiguate-fields`),
@@ -3691,8 +3700,6 @@ Deriving instances of extra classes (``Data``, etc.)
.. ghc-flag:: -XDeriveFoldable
- :implies: :ghc-flag:`-XDeriveFunctor`
-
Allow automatic deriving of instances for the ``Foldable`` typeclass.
.. ghc-flag:: -XDeriveTraversable
@@ -4456,6 +4463,8 @@ Multi-parameter type classes
.. ghc-flag:: -XMultiParamTypeClasses
+ :implies: :ghc-flag:`-XConstrainedClassMethods`
+
Allow the definition of typeclasses with more than one parameter.
Multi-parameter type classes are permitted, with flag
@@ -4619,6 +4628,8 @@ Functional dependencies
.. ghc-flag:: -XFunctionalDependencies
+ :implies: :ghc-flag:`-XMultiParamTypeClasses`
+
Allow use of functional dependencies in class declarations.
Functional dependencies are implemented as described by [Jones2000]_.Mark Jones in
@@ -5882,7 +5893,8 @@ Type families
.. ghc-flag:: -XTypeFamilies
- :implies: :ghc-flag:`-XMonoLocalBinds`
+ :implies: :ghc-flag:`-XMonoLocalBinds`, :ghc-flag:`-XKindSignatures`,
+ :ghc-flag:`-XExplicitNamespaces`
Allow use and definition of indexed type and data families.
@@ -6743,6 +6755,8 @@ Injective type families
.. ghc-flag:: -XTypeFamilyDependencies
+ :implies: :ghc-flag:`-XTypeFamilies`
+
Allow functional dependency annotations on type families. This allows one to
define injective type families.
@@ -8398,6 +8412,8 @@ Impredicative polymorphism
.. ghc-flag:: -XImpredicativeTypes
+ :implies: :ghc-flag:`RankNTypes`
+
Allow impredicative polymorphic types.
In general, GHC will only instantiate a polymorphic function at a
@@ -8450,6 +8466,7 @@ Lexically scoped type variables
.. ghc-flag:: -XScopedTypeVariables
:implies: :ghc-flag:`-XRelaxedPolyRec`
+ :implies: :ghc-flag:`-XExplicitForAll`
Enable lexical scoping of type variables explicitly introduced with
``forall``.
@@ -9421,6 +9438,8 @@ Syntax
.. ghc-flag:: -XTemplateHaskell
+ :implies: :ghc-flag:`-XTemplateHaskellQuotes`
+
Enable Template Haskell's splice and quotation syntax.
.. ghc-flag:: -XTemplateHaskellQuotes
More information about the ghc-commits
mailing list