Fix indexing of a few operators, particularly (\\), which was making a
[haskell-report.git] / report / index-extra.verb
1 % "see XXX" and "see also YYY" index entries
2 %
3 % collected here and inserted at the END of the report
4 % so that those index entries will always appear LAST
5 % -------------------------------------------------------------------
6 % but first some ...
7 %
8 % NOTES ON INDEXING: by Will Partain (partain@@dcs.glasgow.ac.uk)
9
10 % Paul Hudak did the initial selection of index entries for the report
11 % (version 1.0); I haven't changed that, really.  I did the automatic
12 % indexing of the code in the prelude (Appendix A), and the
13 % plug-and-chug indexing of the syntax non-terminals.
14
15 % The important thing is consistency!  Here's what I've done -- my
16 % model has been the index for the LaTeX manual.  This doesn't mean
17 % that there aren't plenty of shortcomings.
18 %
19 % 1) I always index the singular form, i.e., "file", not "files";
20 %    "expression", not "expressions".
21 %
22 % 2) The tricky part is how to index things that could come under
23 %    several possible titles.  Here's an example and how I handled it.
24 %    Let's say we have several index entries for "list expression",
25 %    "conditional expression", and "case expression".
26 %
27 %    * we want each index entry to appear under exactly one name
28 %
29 %    * we want other likely/interesting entries to at least be
30 %      cross-referenced.
31 %
32 %    So:
33 %
34 %    * put each entry under the straightforward un-reordered thing;
35 %      in the example, "list expression", "case expression", etc.
36 %
37 %    * under "expression" (a likely place for someone to look), have:
38 %
39 %       expression
40 %           case, {\em see} case expression
41 %           conditional, {\em see} conditional expression
42 %           list, {\em see} list expression
43 % -------------------------------------------------------------------
44 %
45 \index{application!function|see{function application}}
46 \index{application!operator|see{operator application}}
47 \index{binding!function|see{function binding}}
48 \index{binding!pattern|see{pattern binding}}
49 \index{binding!simple pattern|see{simple pattern binding}}
50 \index{character set!ASCII|see{ASCII character set}}
51 \index{character set!transparent|see{transparent character set}}
52 \index{datatype!abstract|see{abstract datatype}}
53 \index{datatype!algebraic|see{algebraic datatype}}
54 \index{datatype!declaration|see{{\tt data} declaration}}
55 \index{datatype!recursive|see{recursive datatype}}
56 \index{datatype!renaming|see{{\tt newtype} declaration}}
57 \index{declaration!datatype|see{{\tt data} declaration}}
58 \index{declaration!class|see{class declaration}}
59 \index{declaration!instance|see{instance declaration}}
60 \index{declaration!default|see{{\tt default} declaration}}
61 \index{declaration!import|see{import declaration}}
62 \index{declaration!fixity|see{fixity declaration}}
63 \index{environment!class|see{class environment}}
64 \index{environment!type|see{type environment}}
65 \index{expression!type|see{type expression}}
66 \index{expression!conditional|see{conditional expression}}
67 \index{expression!unit|see{unit expression}}
68 \index{expression!let|see{let expression}}
69 \index{expression!case|see{case expression}}
70 \index{expression!simple case|see{simple case expression}}
71 \index{""@@-pattern@@{\tt {\char'100}}|see{as-pattern}}
72 \index{_@@{\tt {\char'137}}|see{wildcard pattern}}
73 \index{pattern!""@@-pattern@@{\tt {\char'100}}|see{as-pattern}}
74 \index{pattern!_@@{\tt {\char'137}}|see{wildcard pattern}}
75 \index{pattern!constructed|see{constructed pattern}}
76 \index{pattern!integer|see{integer literal pattern}}
77 \index{pattern!floating|see{floating literal pattern}}
78 \index{pattern!linear|see{linear pattern}}
79 \index{pattern!n+k@@"n@+@k"|see{"n@+@k" pattern}}
80 \index{pattern!irrefutable|see{irrefutable pattern}}
81 \index{pattern!refutable|see{refutable pattern}}
82 \index{semantics!formal|see{formal semantics}}
83 \index{string!transparent|see{transparent string}}
84 \index{type!ambiguous|see{ambiguous type}}
85 \index{type!monomorphic|see{monomorphic type}}
86 \index{type!principal|see{principal type}}
87 \index{type!trivial|see{trivial type}}
88 \index{type!numeric|see{numeric type}}
89 \index{type!function|see{function type}}
90 \index{type!constructed|see{constructed type}}
91 \index{type!tuple|see{tuple type}}
92 \index{type!list|see{list type}}
93 \index{type renaming|see{{\tt newtype} declaration}}
94 \index{type signature!for an expression|see{expression type-signature}}
95 %
96 \index{(aaa)@@{\tt ()}|see{trivial type and unit expression}}%
97 \index{-@@{\tt  -}|hseealso{negation}}
98 \index{+@@{\tt  +}|hseealso{"n@+@k" pattern}}
99 \index{\\@@{\tt {\char'134}}|see{lambda abstraction}}
100 \index{~@@{\tt {\char'176}}|see{irrefutable pattern}}
101 \index{derived instance|hseealso{instance declaration}}
102 \index{if-then-else expression|see{conditional expression}}
103 \index{instance declaration|hseealso{derived instance}}
104 \index{layout|hseealso{off-side rule}}
105 \index{off-side rule|hseealso{layout}}
106 \index{method|see{class method}}
107 \index{overloaded pattern|see{pattern-matching}}
108 \index{precedence|hseealso{fixity}}
109 \index{section|hseealso{operator application}}
110 \index{signature|see{type signature}}
111 \index{standard prelude|hseealso{{\tt Prelude}}}
112 \index{synonym|see{type synonym}}
113 \index{type class|see{class}}
114 \index{type synonym|hseealso{datatype}}
115 \index{unit datatype|see{trivial type}}
116 \index{name!qualified|see{qualified name}}
117 \index{name!special|see{special name}}