More tinies
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 4 Oct 2001 16:28:52 +0000 (16:28 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Thu, 4 Oct 2001 16:28:52 +0000 (16:28 +0000)
haskell98-bugs.html
report/Prelude.hs
report/decls.verb
report/modules.verb
report/preface-13.verb
report/syntax-iso.verb

index e8c49a2..393f723 100644 (file)
@@ -381,14 +381,15 @@ list is the union of the entities exported by the individual items of the list.
 The <em>unqualified</em> names of the entities exported by a module must all be distinct
 (within their respective namespace).  For example
 <pre>
-  module A ( module B, C.f, g ) where   -- an invalid module
-  import qualified B(f,g)
-  import qualified C(f)
-  g = True
+  module A ( C.f, C.g, g, module B ) where   -- an invalid module
+  import B(f)
+  import qualified C(f,g)
+  g = True
 </pre>
-There are name clashes in the export list between <tt>B.f</tt> and <tt>C.f</tt> and
-between <tt>g</tt> and <tt>B.g</tt> even though there are no name clashes within
-module <tt>A</tt>."
+There are name clashes in the export list 
+between <tt>C.g</tt> and <tt>g</tt>, 
+and between <tt>module B</tt> and <tt>C.f</tt> (assuming <tt>B.f</tt> and <tt>C.f</tt> are different entities), 
+even though there are no name clashes within module <tt>A</tt> itself.  
 
 <p><li> [July 2001] <strong>Page 65, Section 5.3, Import Declarations, last line.</strong>
 Start a new subsection "5.3.1  What is imported" before "Exactly which entities are to
index c346fd4..4b89fa6 100644 (file)
@@ -53,7 +53,7 @@ infixl 7  *, /, `quot`, `rem`, `div`, `mod`
 infixl 6  +, -
 
 -- The (:) operator is built-in syntax, and cannot legally be given
--- a fixtity declaration; but its fixity is given by:
+-- a fixity declaration; but its fixity is given by:
 --   infixr 5  :
 
 infix  4  ==, /=, <, <=, >=, >
index 321fd82..c8c6560 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/decls.verb,v 1.11 2001/09/24 14:40:47 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/decls.verb,v 1.12 2001/10/04 16:28:52 simonpj Exp $
 %
 %**<title>The Haskell 98 Report: Declarations</title>
 %*section 4
@@ -633,6 +633,9 @@ Section~\ref{strict-eval}) if "s_i" is of the form "@!@ t_i".  Pattern
 matching on "K" is not affected by strictness flags.
 }
 
+Lexically speaking, ``@!@'' is an ordinary "varsym" not a "reservedop"; it has special significance
+only in the context of the argument types of a @data@ declaration.
+
 \subsubsection{Type Synonym Declarations}
 \index{type synonym}
 \label{type-synonym-decls}
index 53aabd5..f9ec6d5 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/modules.verb,v 1.13 2001/10/02 09:09:26 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/modules.verb,v 1.14 2001/10/04 16:28:52 simonpj Exp $
 %
 %**<title>The Haskell 98 Report: Modules</title>
 %*section 5
@@ -241,15 +241,16 @@ The {\em unqualified} names of the entities exported by a module must all be dis
 (within their respective namespace).  For example
 \bprog
 @
-  module A ( B.f, C.f, g ) where   -- an invalid module
-  import qualified B(f,g)
-  import qualified C(f)
-  g = True
+  module A ( C.f, C.g, g, module B ) where   -- an invalid module
+  import B(f)
+  import qualified C(f,g)
+  g = True
 @
 \eprog
-There are name clashes in the export list between @B.f@ and @C.f@ and
-between @g@ and @B.g@ even though there are no name clashes within
-module @A@.  
+There are name clashes in the export list 
+between @C.g@ and @g@, 
+and between @module B@ and @C.f@ (assuming @B.f@ and @C.f@ are different entities), 
+even though there are no name clashes within module @A@ itself.  
 
 
 \subsection{Import Declarations}
@@ -295,6 +296,11 @@ The effect of multiple @import@ declarations is strictly
 cumulative: an entity is in scope if it is imported by any of the @import@
 declarations in a module.  The ordering of import declarations is irrelevant.
 
+Lexically speaking, the terminal symbols ``@as@'', ``@qualified@'' and
+``@hiding@'' are each a "varid" rather than a "reservedid".  They have
+special significance only in the context of an @import@ declaration;
+they may be used as variables.
+
 \subsubsection{What is imported}
 \label{whatisimported}
 
index 22b0cc8..1ed36e9 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/preface-13.verb,v 1.8 2001/10/02 09:09:26 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/preface-13.verb,v 1.9 2001/10/04 16:28:52 simonpj Exp $
 %
 %**<title>The Haskell 98 Report: Preface</title>
 %*section
@@ -282,6 +282,7 @@ Mike Joy,
 Stefan Kahrs,
 Antti-Juhani Kaijanaho,
 Jerzy Karczmarczuk,
+Wolfram Karl,
 Kent Karlsson,
 Richard Kelsey,
 Siau-Cheng Khoo, 
index b828fa1..1d531fc 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/syntax-iso.verb,v 1.5 2001/10/02 09:09:27 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/syntax-iso.verb,v 1.6 2001/10/04 16:28:52 simonpj Exp $
 %
 %**<title>Haskell 98 Syntax</title>
 %*section B
@@ -175,7 +175,7 @@ until either the enclosing context ends or a new context is pushed.
 \end{itemize}
 
 The ``indentation'' of a lexeme is the column number
-indicating the start of that lexeme; the indentation of a line is the
+of the first character of that lexeme; the indentation of a line is the
 indentation of its leftmost lexeme.  To determine the column number,
 assume a fixed-width font with this tab convention: tab stops
 are 8 characters apart, and a tab character causes the insertion of