I suggest changing the User's Guide extensions documentation to consistently 
use the LANGUAGE pragma form to specify extensions and code examples, rather 
than a combination of LANGUAGE pragmas and -XExtension flags. I find the 
combination of the two confusing. Also, the reader copying code examples which 
require a specific LANGUAGE to compile will be assisted by including the 
LANGUAGE pragma in the code examples.


For example, in section 7.3, I would change:
--------------------------------------------

7.3. Syntactic extensions
7.3.1. Unicode syntax

The language extension -XUnicodeSyntax enables Unicode characters to be used to 
stand for certain ASCII character sequences.
--------------------------------------------


To:
--------------------------------------------
7.3. Syntactic extensions
7.3.1. Unicode syntax

The language extension {-# LANGUAGE UnicodeSyntax #-} enables Unicode 
characters to be used to stand for certain ASCII character sequences.
--------------------------------------------



Similarly, I would include the required LANGUAGE pragma(s) in _all_ code 
examples. For example, in section 7.3.7, I would change:
--------------------------------------------

type Typ

data TypView = Unit
             | Arrow Typ Typ

view :: Typ -> TypView

-- additional operations for constructing Typ's ...
--------------------------------------------


To:
--------------------------------------------


{-# LANGUAGE ViewPatterns #-}
type Typ

data TypView = Unit
             | Arrow Typ Typ

view :: Typ -> TypView

-- additional operations for constructing Typ's ...
--------------------------------------------

I realize that LANGUAGE pragmas must be in file headers. While it is possible 
that users may be confused if they try to put pragmas in the body of a source 
file, I believe this will be outweighed by the benefit of making the examples 
clearer about the extensions necessary to use them.

If this change is accepted, I volunteer to make the necessary documentation 
patches to implement it.


Howard B. Golden
Northridge, CA USA
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to