Fix indexing of a few operators, particularly (\\), which was making a
authorRoss Paterson <ross@soi.city.ac.uk>
Tue, 3 Dec 2002 10:27:22 +0000 (10:27 +0000)
committerRoss Paterson <ross@soi.city.ac.uk>
Tue, 3 Dec 2002 10:27:22 +0000 (10:27 +0000)
a small mess.

report/array.verb
report/basic.verb
report/decls.verb
report/derived.verb
report/index-extra.verb
report/list.verb
report/ratio.verb
tools/splitAndIndexPgm

index 724d695..75455ef 100644 (file)
@@ -77,7 +77,7 @@ inner v w = if b == bounds w
 \label{array-examples}
 \end{figure}
 
-The @(!)@\index{!@@{\tt {\char'041}}} operator denotes array subscripting.
+The @(!)@\index{""!@@{\tt  {\char'041}}} operator denotes array subscripting.
 % array subscripting -- if the index lies outside the bounds of the
 % array, the result is undefined.  
 The @bounds@\indextt{bounds} function
index 8d86479..c5a2422 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/basic.verb,v 1.14 2002/12/03 01:17:13 ross Exp $
+% $Header: /home/cvs/root/haskell-report/report/basic.verb,v 1.15 2002/12/03 10:27:21 ross Exp $
 %
 %**<title>The Haskell 98 Report: Predefined Types and Classes</title>
 %*section 6
@@ -211,7 +211,7 @@ the Prelude.
 
 \subsection{Strict Evaluation}
 \label{strict-eval}
-\indextt{$!}
+\index{$""!@@{\tt  {\char'044}{\char'041}}}
 \indextt{seq}
 Function application in Haskell is non-strict; that is, a function
 argument is evaluated only when required.  Sometimes it is desirable to
index bd3ccc7..a2465bf 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/decls.verb,v 1.16 2002/12/02 14:53:27 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/decls.verb,v 1.17 2002/12/03 10:27:21 ross Exp $
 %
 %**<title>The Haskell 98 Report: Declarations</title>
 %*section 4
@@ -617,7 +617,7 @@ Whenever a data constructor is applied, each argument to the
 constructor is evaluated if and only if the corresponding type in the
 algebraic datatype declaration has a strictness flag, denoted by
 an exclamation point, ``@!@''.
-\indextt{!}
+\index{""!@@{\tt  {\char'041}}}
 Lexically, ``@!@'' is an ordinary varsym not a "reservedop"; 
 it has special significance only in the context of the argument types of 
 a data declaration.
@@ -1462,7 +1462,7 @@ edence & operators                & operators             & operators \\ \hline\hline
 \indextt{>=}
 \indextt{elem}
 \indextt{notElem}
-\indextt{&&@@{\tt  \&\&}}
+\index{&&@@{\tt  \&\&}}
 \index{""|""|@@{\tt  {\char'174}{\char'174}}}
 \indextt{>>}
 \indextt{>>=}
index 5555c8e..aaf42b8 100644 (file)
@@ -1,5 +1,5 @@
 %
-% $Header: /home/cvs/root/haskell-report/report/derived.verb,v 1.10 2002/12/02 14:53:27 simonpj Exp $
+% $Header: /home/cvs/root/haskell-report/report/derived.verb,v 1.11 2002/12/03 10:27:22 ross Exp $
 %
 % The paragraph describing the formats of standard representations might
 % be deleted, since the info is already in the Prelude.  
@@ -131,18 +131,18 @@ always refer to entities defined by the @Prelude@.
 \indexdi{Ord}
 The class methods automatically introduced by derived instances
 of @Eq@ and @Ord@ are @(==)@,
-\index{==@@{\tt ==}}
+\indextt{==}
 @(/=)@,
-\index{/=@@{\tt /=}}
+\indextt{/=}
 @compare@\indextt{compare},
 @(<)@,
-\index{<@@{\tt <}}
+\indextt{<}
 @(<=)@,
-\index{<=@@{\tt <=}}
+\indextt{<=}
 @(>)@,
-\index{>@@{\tt >}}
+\indextt{>}
 @(>=)@,
-\index{>=@@{\tt >=}}
+\indextt{>=}
 @max@\indextt{max}, and 
 @min@\indextt{min}.  The latter seven operators are defined so
 as to compare their arguments lexicographically with respect to
index 7688666..edd93ba 100644 (file)
@@ -94,8 +94,8 @@
 \index{type signature!for an expression|see{expression type-signature}}
 %
 \index{(aaa)@@{\tt ()}|see{trivial type and unit expression}}%
-\index{-@@{\tt -}|hseealso{negation}}
-\index{+@@{\tt +}|hseealso{"n@+@k" pattern}}
+\index{-@@{\tt  -}|hseealso{negation}}
+\index{+@@{\tt  +}|hseealso{"n@+@k" pattern}}
 \index{\\@@{\tt {\char'134}}|see{lambda abstraction}}
 \index{~@@{\tt {\char'176}}|see{irrefutable pattern}}
 \index{derived instance|hseealso{instance declaration}}
index df70db0..641bbcb 100644 (file)
@@ -56,7 +56,7 @@ e.g.,
 \eprog
 
 \item
-@(\\)@\indextt{(\\)} is list 
+@(\\)@\index{\\\\@@{\tt  {\char'134}{\char'134}}} is list
 difference (non-associative).  In the result of @xs \\ ys@,
 the first occurrence of each element of @ys@ in turn (if any)
 has been removed from @xs@.  Thus, @(xs ++ ys) \\ xs == ys@.
index 95f0c69..7bc1774 100644 (file)
@@ -19,7 +19,7 @@ over $t$.  If $t$ is a bounded type, the results may be unpredictable;
 for example @Ratio Int@ may give rise to integer overflow even for
 rational numbers of small absolute size.
 
-The operator @(%)@\index{%@@{\tt {\char'045}}} forms the ratio of two
+The operator @(%)@\index{%@@{\tt  {\char'045}}} forms the ratio of two
 integral numbers, reducing the fraction to terms with no common factor
 and such that the denominator is positive.  The functions
 @numerator@\indextt{numerator}
index 97db816..1e8c249 100644 (file)
@@ -1,7 +1,7 @@
 eval "exec perl -S $0 $*"
      if $running_under_some_random_shell;
 #
-# $Header: /home/cvs/root/haskell-report/tools/splitAndIndexPgm,v 1.2 2001/09/11 13:04:28 simonpj Exp $
+# $Header: /home/cvs/root/haskell-report/tools/splitAndIndexPgm,v 1.3 2002/12/03 10:27:22 ross Exp $
 #
 # This script reads a Haskell program and inserts LaTeX/verbatim
 #   magic to indicate where a page break may occur.
@@ -118,6 +118,7 @@ sub printIndexEntries { # also re-sets $indexentries, specialentries
            $raw =~ s/\|/""\|/g;
            $raw =~ s/!/""!/g;
            $raw =~ s/\@/""\@\@/g;
+           $raw =~ s/\\/\\\\/g;
 
            print "\\index\{$raw\@\@$processed\}%\n";
        } else {