\begin{tocenv}
\tocitem \@locref{htoc1}{\begin{@norefs}\@print{Part I}\quad{}An introduction to OCaml{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc2}{\begin{@norefs}\@print{Chapter 1}\quad{}The core language{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc3}{\begin{@norefs}\@print{1.1}\quad{}Basics{}\end{@norefs}}
\tocitem \@locref{htoc4}{\begin{@norefs}\@print{1.2}\quad{}Data types{}\end{@norefs}}
\tocitem \@locref{htoc5}{\begin{@norefs}\@print{1.3}\quad{}Functions as values{}\end{@norefs}}
\tocitem \@locref{htoc6}{\begin{@norefs}\@print{1.4}\quad{}Records and variants{}\end{@norefs}}
\tocitem \@locref{htoc7}{\begin{@norefs}\@print{1.5}\quad{}Imperative features{}\end{@norefs}}
\tocitem \@locref{htoc8}{\begin{@norefs}\@print{1.6}\quad{}Exceptions{}\end{@norefs}}
\tocitem \@locref{htoc9}{\begin{@norefs}\@print{1.7}\quad{}Symbolic processing of expressions{}\end{@norefs}}
\tocitem \@locref{htoc10}{\begin{@norefs}\@print{1.8}\quad{}Pretty-printing and parsing{}\end{@norefs}}
\tocitem \@locref{htoc11}{\begin{@norefs}\@print{1.9}\quad{}Standalone Caml programs{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc12}{\begin{@norefs}\@print{Chapter 2}\quad{}The module system{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc13}{\begin{@norefs}\@print{2.1}\quad{}Structures{}\end{@norefs}}
\tocitem \@locref{htoc14}{\begin{@norefs}\@print{2.2}\quad{}Signatures{}\end{@norefs}}
\tocitem \@locref{htoc15}{\begin{@norefs}\@print{2.3}\quad{}Functors{}\end{@norefs}}
\tocitem \@locref{htoc16}{\begin{@norefs}\@print{2.4}\quad{}Functors and type abstraction{}\end{@norefs}}
\tocitem \@locref{htoc17}{\begin{@norefs}\@print{2.5}\quad{}Modules and separate compilation{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc18}{\begin{@norefs}\@print{Chapter 3}\quad{}Objects in Caml{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc19}{\begin{@norefs}\@print{3.1}\quad{}Classes and objects{}\end{@norefs}}
\tocitem \@locref{htoc20}{\begin{@norefs}\@print{3.2}\quad{}Immediate objects{}\end{@norefs}}
\tocitem \@locref{htoc21}{\begin{@norefs}\@print{3.3}\quad{}Reference to self{}\end{@norefs}}
\tocitem \@locref{htoc22}{\begin{@norefs}\@print{3.4}\quad{}Initializers{}\end{@norefs}}
\tocitem \@locref{htoc23}{\begin{@norefs}\@print{3.5}\quad{}Virtual methods{}\end{@norefs}}
\tocitem \@locref{htoc24}{\begin{@norefs}\@print{3.6}\quad{}Private methods{}\end{@norefs}}
\tocitem \@locref{htoc25}{\begin{@norefs}\@print{3.7}\quad{}Class interfaces{}\end{@norefs}}
\tocitem \@locref{htoc26}{\begin{@norefs}\@print{3.8}\quad{}Inheritance{}\end{@norefs}}
\tocitem \@locref{htoc27}{\begin{@norefs}\@print{3.9}\quad{}Multiple inheritance{}\end{@norefs}}
\tocitem \@locref{htoc28}{\begin{@norefs}\@print{3.10}\quad{}Parameterized classes{}\end{@norefs}}
\tocitem \@locref{htoc29}{\begin{@norefs}\@print{3.11}\quad{}Polymorphic methods{}\end{@norefs}}
\tocitem \@locref{htoc30}{\begin{@norefs}\@print{3.12}\quad{}Using coercions{}\end{@norefs}}
\tocitem \@locref{htoc31}{\begin{@norefs}\@print{3.13}\quad{}Functional objects{}\end{@norefs}}
\tocitem \@locref{htoc32}{\begin{@norefs}\@print{3.14}\quad{}Cloning objects{}\end{@norefs}}
\tocitem \@locref{htoc33}{\begin{@norefs}\@print{3.15}\quad{}Recursive classes{}\end{@norefs}}
\tocitem \@locref{htoc34}{\begin{@norefs}\@print{3.16}\quad{}Binary methods{}\end{@norefs}}
\tocitem \@locref{htoc35}{\begin{@norefs}\@print{3.17}\quad{}Friends{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc36}{\begin{@norefs}\@print{Chapter 4}\quad{}Labels and variants{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc37}{\begin{@norefs}\@print{4.1}\quad{}Labels{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc38}{\begin{@norefs}\@print{4.1.1}\quad{}Optional arguments{}\end{@norefs}}
\tocitem \@locref{htoc39}{\begin{@norefs}\@print{4.1.2}\quad{}Labels and type inference{}\end{@norefs}}
\tocitem \@locref{htoc40}{\begin{@norefs}\@print{4.1.3}\quad{}Suggestions for labeling{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc41}{\begin{@norefs}\@print{4.2}\quad{}Polymorphic variants{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc42}{\begin{@norefs}\@print{4.2.1}\quad{}Weaknesses of polymorphic variants{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc43}{\begin{@norefs}\@print{Chapter 5}\quad{}Advanced examples with classes and modules{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc44}{\begin{@norefs}\@print{5.1}\quad{}Extended example: bank accounts{}\end{@norefs}}
\tocitem \@locref{htoc45}{\begin{@norefs}\@print{5.2}\quad{}Simple modules as classes{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc46}{\begin{@norefs}\@print{5.2.1}\quad{}Strings{}\end{@norefs}}
\tocitem \@locref{htoc47}{\begin{@norefs}\@print{5.2.2}\quad{}Hashtbl{}\end{@norefs}}
\tocitem \@locref{htoc48}{\begin{@norefs}\@print{5.2.3}\quad{}Sets{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc49}{\begin{@norefs}\@print{5.3}\quad{}The subject/observer pattern{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc50}{\begin{@norefs}\@print{Part II}\quad{}The OCaml language{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc51}{\begin{@norefs}\@print{Chapter 6}\quad{}The OCaml language{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc52}{\begin{@norefs}\@print{6.1}\quad{}Lexical conventions{}\end{@norefs}}
\tocitem \@locref{htoc53}{\begin{@norefs}\@print{6.2}\quad{}Values{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc54}{\begin{@norefs}\@print{6.2.1}\quad{}Base values{}\end{@norefs}}
\tocitem \@locref{htoc55}{\begin{@norefs}\@print{6.2.2}\quad{}Tuples{}\end{@norefs}}
\tocitem \@locref{htoc56}{\begin{@norefs}\@print{6.2.3}\quad{}Records{}\end{@norefs}}
\tocitem \@locref{htoc57}{\begin{@norefs}\@print{6.2.4}\quad{}Arrays{}\end{@norefs}}
\tocitem \@locref{htoc58}{\begin{@norefs}\@print{6.2.5}\quad{}Variant values{}\end{@norefs}}
\tocitem \@locref{htoc59}{\begin{@norefs}\@print{6.2.6}\quad{}Polymorphic variants{}\end{@norefs}}
\tocitem \@locref{htoc60}{\begin{@norefs}\@print{6.2.7}\quad{}Functions{}\end{@norefs}}
\tocitem \@locref{htoc61}{\begin{@norefs}\@print{6.2.8}\quad{}Objects{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc62}{\begin{@norefs}\@print{6.3}\quad{}Names{}\end{@norefs}}
\tocitem \@locref{htoc63}{\begin{@norefs}\@print{6.4}\quad{}Type expressions{}\end{@norefs}}
\tocitem \@locref{htoc64}{\begin{@norefs}\@print{6.5}\quad{}Constants{}\end{@norefs}}
\tocitem \@locref{htoc65}{\begin{@norefs}\@print{6.6}\quad{}Patterns{}\end{@norefs}}
\tocitem \@locref{htoc66}{\begin{@norefs}\@print{6.7}\quad{}Expressions\label{s:value-expr}{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc67}{\begin{@norefs}\@print{6.7.1}\quad{}Basic expressions{}\end{@norefs}}
\tocitem \@locref{htoc68}{\begin{@norefs}\@print{6.7.2}\quad{}Control structures{}\end{@norefs}}
\tocitem \@locref{htoc69}{\begin{@norefs}\@print{6.7.3}\quad{}Operations on data structures{}\end{@norefs}}
\tocitem \@locref{htoc70}{\begin{@norefs}\@print{6.7.4}\quad{}Operators{}\end{@norefs}}
\tocitem \@locref{htoc71}{\begin{@norefs}\@print{6.7.5}\quad{}Objects{}\end{@norefs}}
\tocitem \@locref{htoc72}{\begin{@norefs}\@print{6.7.6}\quad{}Coercions{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc73}{\begin{@norefs}\@print{6.8}\quad{}Type and exception definitions{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc74}{\begin{@norefs}\@print{6.8.1}\quad{}Type definitions{}\end{@norefs}}
\tocitem \@locref{htoc75}{\begin{@norefs}\@print{6.8.2}\quad{}Exception definitions{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc76}{\begin{@norefs}\@print{6.9}\quad{}Classes{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc77}{\begin{@norefs}\@print{6.9.1}\quad{}Class types{}\end{@norefs}}
\tocitem \@locref{htoc78}{\begin{@norefs}\@print{6.9.2}\quad{}Class expressions{}\end{@norefs}}
\tocitem \@locref{htoc79}{\begin{@norefs}\@print{6.9.3}\quad{}Class definitions{}\end{@norefs}}
\tocitem \@locref{htoc80}{\begin{@norefs}\@print{6.9.4}\quad{}Class specification{}\end{@norefs}}
\tocitem \@locref{htoc81}{\begin{@norefs}\@print{6.9.5}\quad{}Class type definitions{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc82}{\begin{@norefs}\@print{6.10}\quad{}Module types (module specifications){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc83}{\begin{@norefs}\@print{6.10.1}\quad{}Simple module types{}\end{@norefs}}
\tocitem \@locref{htoc84}{\begin{@norefs}\@print{6.10.2}\quad{}Signatures{}\end{@norefs}}
\tocitem \@locref{htoc85}{\begin{@norefs}\@print{6.10.3}\quad{}Functor types{}\end{@norefs}}
\tocitem \@locref{htoc86}{\begin{@norefs}\@print{6.10.4}\quad{}The {\machine with} operator{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc87}{\begin{@norefs}\@print{6.11}\quad{}Module\label{s:module-expr} expressions (module implementations){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc88}{\begin{@norefs}\@print{6.11.1}\quad{}Simple module expressions{}\end{@norefs}}
\tocitem \@locref{htoc89}{\begin{@norefs}\@print{6.11.2}\quad{}Structures{}\end{@norefs}}
\tocitem \@locref{htoc90}{\begin{@norefs}\@print{6.11.3}\quad{}Functors{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc91}{\begin{@norefs}\@print{6.12}\quad{}Compilation units{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc92}{\begin{@norefs}\@print{Chapter 7}\quad{}Language extensions{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc93}{\begin{@norefs}\@print{7.1}\quad{}Integer literals for types {\machine int32}, {\machine int64} and {\machine nativeint}{}\end{@norefs}}
\tocitem \@locref{htoc94}{\begin{@norefs}\@print{7.2}\quad{}Streams and stream parsers{}\end{@norefs}}
\tocitem \@locref{htoc95}{\begin{@norefs}\@print{7.3}\quad{}Recursive definitions of values{}\end{@norefs}}
\tocitem \@locref{htoc96}{\begin{@norefs}\@print{7.4}\quad{}Range patterns{}\end{@norefs}}
\tocitem \@locref{htoc97}{\begin{@norefs}\@print{7.5}\quad{}Assertion checking{}\end{@norefs}}
\tocitem \@locref{htoc98}{\begin{@norefs}\@print{7.6}\quad{}Lazy evaluation{}\end{@norefs}}
\tocitem \@locref{htoc99}{\begin{@norefs}\@print{7.7}\quad{}Local modules{}\end{@norefs}}
\tocitem \@locref{htoc100}{\begin{@norefs}\@print{7.8}\quad{}Recursive modules{}\end{@norefs}}
\tocitem \@locref{htoc101}{\begin{@norefs}\@print{7.9}\quad{}Private types{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc102}{\begin{@norefs}\@print{7.9.1}\quad{}Private variant and record types{}\end{@norefs}}
\tocitem \@locref{htoc103}{\begin{@norefs}\@print{7.9.2}\quad{}Private type abbreviations{}\end{@norefs}}
\tocitem \@locref{htoc104}{\begin{@norefs}\@print{7.9.3}\quad{}Private row types{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc105}{\begin{@norefs}\@print{7.10}\quad{}Local opens{}\end{@norefs}}
\tocitem \@locref{htoc106}{\begin{@norefs}\@print{7.11}\quad{}Record notations{}\end{@norefs}}
\tocitem \@locref{htoc107}{\begin{@norefs}\@print{7.12}\quad{}Explicit polymorphic type annotations{}\end{@norefs}}
\tocitem \@locref{htoc108}{\begin{@norefs}\@print{7.13}\quad{}Explicit naming of type variables{}\end{@norefs}}
\tocitem \@locref{htoc109}{\begin{@norefs}\@print{7.14}\quad{}First-class modules{}\end{@norefs}}
\tocitem \@locref{htoc110}{\begin{@norefs}\@print{7.15}\quad{}Recovering the type of a module{}\end{@norefs}}
\tocitem \@locref{htoc111}{\begin{@norefs}\@print{7.16}\quad{}Substituting inside a signature{}\end{@norefs}}
\tocitem \@locref{htoc112}{\begin{@norefs}\@print{7.17}\quad{}Explicit overriding in class definitions{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc113}{\begin{@norefs}\@print{Part III}\quad{}The OCaml tools{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc114}{\begin{@norefs}\@print{Chapter 8}\quad{}Batch compilation (ocamlc){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc115}{\begin{@norefs}\@print{8.1}\quad{}Overview of the compiler{}\end{@norefs}}
\tocitem \@locref{htoc116}{\begin{@norefs}\@print{8.2}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc117}{\begin{@norefs}\@print{8.3}\quad{}Modules and the file system{}\end{@norefs}}
\tocitem \@locref{htoc118}{\begin{@norefs}\@print{8.4}\quad{}Common errors{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc119}{\begin{@norefs}\@print{Chapter 9}\quad{}The toplevel system (ocaml){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc120}{\begin{@norefs}\@print{9.1}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc121}{\begin{@norefs}\@print{9.2}\quad{}Toplevel directives{}\end{@norefs}}
\tocitem \@locref{htoc122}{\begin{@norefs}\@print{9.3}\quad{}The toplevel and the module system{}\end{@norefs}}
\tocitem \@locref{htoc123}{\begin{@norefs}\@print{9.4}\quad{}Common errors{}\end{@norefs}}
\tocitem \@locref{htoc124}{\begin{@norefs}\@print{9.5}\quad{}Building custom toplevel systems: {\machine ocamlmktop}{}\end{@norefs}}
\tocitem \@locref{htoc125}{\begin{@norefs}\@print{9.6}\quad{}Options{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc126}{\begin{@norefs}\@print{Chapter 10}\quad{}The runtime system (ocamlrun){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc127}{\begin{@norefs}\@print{10.1}\quad{}Overview{}\end{@norefs}}
\tocitem \@locref{htoc128}{\begin{@norefs}\@print{10.2}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc129}{\begin{@norefs}\@print{10.3}\quad{}Dynamic loading of shared libraries{}\end{@norefs}}
\tocitem \@locref{htoc130}{\begin{@norefs}\@print{10.4}\quad{}Common errors{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc131}{\begin{@norefs}\@print{Chapter 11}\quad{}Native-code compilation (ocamlopt){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc132}{\begin{@norefs}\@print{11.1}\quad{}Overview of the compiler{}\end{@norefs}}
\tocitem \@locref{htoc133}{\begin{@norefs}\@print{11.2}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc134}{\begin{@norefs}\@print{11.3}\quad{}Common errors{}\end{@norefs}}
\tocitem \@locref{htoc135}{\begin{@norefs}\@print{11.4}\quad{}Running executables produced by ocamlopt{}\end{@norefs}}
\tocitem \@locref{htoc136}{\begin{@norefs}\@print{11.5}\quad{}Compatibility with the bytecode compiler{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc137}{\begin{@norefs}\@print{Chapter 12}\quad{}Lexer and parser generators (ocamllex, ocamlyacc){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc138}{\begin{@norefs}\@print{12.1}\quad{}Overview of {\machine ocamllex}{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc139}{\begin{@norefs}\@print{12.1.1}\quad{}Options{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc140}{\begin{@norefs}\@print{12.2}\quad{}Syntax of lexer definitions{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc141}{\begin{@norefs}\@print{12.2.1}\quad{}Header and trailer{}\end{@norefs}}
\tocitem \@locref{htoc142}{\begin{@norefs}\@print{12.2.2}\quad{}Naming regular expressions{}\end{@norefs}}
\tocitem \@locref{htoc143}{\begin{@norefs}\@print{12.2.3}\quad{}Entry points{}\end{@norefs}}
\tocitem \@locref{htoc144}{\begin{@norefs}\@print{12.2.4}\quad{}Regular expressions{}\end{@norefs}}
\tocitem \@locref{htoc145}{\begin{@norefs}\@print{12.2.5}\quad{}Actions{}\end{@norefs}}
\tocitem \@locref{htoc146}{\begin{@norefs}\@print{12.2.6}\quad{}Variables in regular expressions{}\end{@norefs}}
\tocitem \@locref{htoc147}{\begin{@norefs}\@print{12.2.7}\quad{}Reserved identifiers{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc148}{\begin{@norefs}\@print{12.3}\quad{}Overview of {\machine ocamlyacc}{}\end{@norefs}}
\tocitem \@locref{htoc149}{\begin{@norefs}\@print{12.4}\quad{}Syntax of grammar definitions{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc150}{\begin{@norefs}\@print{12.4.1}\quad{}Header and trailer{}\end{@norefs}}
\tocitem \@locref{htoc151}{\begin{@norefs}\@print{12.4.2}\quad{}Declarations{}\end{@norefs}}
\tocitem \@locref{htoc152}{\begin{@norefs}\@print{12.4.3}\quad{}Rules{}\end{@norefs}}
\tocitem \@locref{htoc153}{\begin{@norefs}\@print{12.4.4}\quad{}Error handling{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc154}{\begin{@norefs}\@print{12.5}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc155}{\begin{@norefs}\@print{12.6}\quad{}A complete example{}\end{@norefs}}
\tocitem \@locref{htoc156}{\begin{@norefs}\@print{12.7}\quad{}Common errors{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc157}{\begin{@norefs}\@print{Chapter 13}\quad{}Dependency generator (ocamldep){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc158}{\begin{@norefs}\@print{13.1}\quad{}Options{}\end{@norefs}}
\tocitem \@locref{htoc159}{\begin{@norefs}\@print{13.2}\quad{}A typical Makefile{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc160}{\begin{@norefs}\@print{Chapter 14}\quad{}The browser/editor (ocamlbrowser){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc161}{\begin{@norefs}\@print{14.1}\quad{}Invocation{}\end{@norefs}}
\tocitem \@locref{htoc162}{\begin{@norefs}\@print{14.2}\quad{}Viewer{}\end{@norefs}}
\tocitem \@locref{htoc163}{\begin{@norefs}\@print{14.3}\quad{}Module browsing{}\end{@norefs}}
\tocitem \@locref{htoc164}{\begin{@norefs}\@print{14.4}\quad{}File editor{}\end{@norefs}}
\tocitem \@locref{htoc165}{\begin{@norefs}\@print{14.5}\quad{}Shell{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc166}{\begin{@norefs}\@print{Chapter 15}\quad{}The documentation generator (ocamldoc){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc167}{\begin{@norefs}\@print{15.1}\quad{}Usage{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc168}{\begin{@norefs}\@print{15.1.1}\quad{}Invocation{}\end{@norefs}}
\tocitem \@locref{htoc169}{\begin{@norefs}\@print{15.1.2}\quad{}Merging of module information{}\end{@norefs}}
\tocitem \@locref{htoc170}{\begin{@norefs}\@print{15.1.3}\quad{}Coding rules{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc171}{\begin{@norefs}\@print{15.2}\quad{}Syntax of documentation comments{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc172}{\begin{@norefs}\@print{15.2.1}\quad{}Placement of documentation comments{}\end{@norefs}}
\tocitem \@locref{htoc173}{\begin{@norefs}\@print{15.2.2}\quad{}The Stop special comment{}\end{@norefs}}
\tocitem \@locref{htoc174}{\begin{@norefs}\@print{15.2.3}\quad{}Syntax of documentation comments{}\end{@norefs}}
\tocitem \@locref{htoc175}{\begin{@norefs}\@print{15.2.4}\quad{}Text formatting{}\end{@norefs}}
\tocitem \@locref{htoc176}{\begin{@norefs}\@print{15.2.5}\quad{}Documentation tags (@-tags){}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc177}{\begin{@norefs}\@print{15.3}\quad{}Custom generators{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc178}{\begin{@norefs}\@print{15.3.1}\quad{}The generator class{}\end{@norefs}}
\tocitem \@locref{htoc179}{\begin{@norefs}\@print{15.3.2}\quad{}Handling custom tags{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc180}{\begin{@norefs}\@print{15.4}\quad{}Adding command line options{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc181}{\begin{@norefs}\@print{15.4.1}\quad{}Compilation and usage{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc182}{\begin{@norefs}\@print{Chapter 16}\quad{}The debugger (ocamldebug){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc183}{\begin{@norefs}\@print{16.1}\quad{}Compiling for debugging{}\end{@norefs}}
\tocitem \@locref{htoc184}{\begin{@norefs}\@print{16.2}\quad{}Invocation{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc185}{\begin{@norefs}\@print{16.2.1}\quad{}Starting the debugger{}\end{@norefs}}
\tocitem \@locref{htoc186}{\begin{@norefs}\@print{16.2.2}\quad{}Exiting the debugger{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc187}{\begin{@norefs}\@print{16.3}\quad{}Commands{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc188}{\begin{@norefs}\@print{16.3.1}\quad{}Getting help{}\end{@norefs}}
\tocitem \@locref{htoc189}{\begin{@norefs}\@print{16.3.2}\quad{}Accessing the debugger state{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc190}{\begin{@norefs}\@print{16.4}\quad{}Executing a program{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc191}{\begin{@norefs}\@print{16.4.1}\quad{}Events{}\end{@norefs}}
\tocitem \@locref{htoc192}{\begin{@norefs}\@print{16.4.2}\quad{}Starting the debugged program{}\end{@norefs}}
\tocitem \@locref{htoc193}{\begin{@norefs}\@print{16.4.3}\quad{}Running the program{}\end{@norefs}}
\tocitem \@locref{htoc194}{\begin{@norefs}\@print{16.4.4}\quad{}Time travel{}\end{@norefs}}
\tocitem \@locref{htoc195}{\begin{@norefs}\@print{16.4.5}\quad{}Killing the program{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc196}{\begin{@norefs}\@print{16.5}\quad{}Breakpoints{}\end{@norefs}}
\tocitem \@locref{htoc197}{\begin{@norefs}\@print{16.6}\quad{}The call stack{}\end{@norefs}}
\tocitem \@locref{htoc198}{\begin{@norefs}\@print{16.7}\quad{}Examining variable values{}\end{@norefs}}
\tocitem \@locref{htoc199}{\begin{@norefs}\@print{16.8}\quad{}Controlling the debugger{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc200}{\begin{@norefs}\@print{16.8.1}\quad{}Setting the program name and arguments{}\end{@norefs}}
\tocitem \@locref{htoc201}{\begin{@norefs}\@print{16.8.2}\quad{}How programs are loaded{}\end{@norefs}}
\tocitem \@locref{htoc202}{\begin{@norefs}\@print{16.8.3}\quad{}Search path for files{}\end{@norefs}}
\tocitem \@locref{htoc203}{\begin{@norefs}\@print{16.8.4}\quad{}Working directory{}\end{@norefs}}
\tocitem \@locref{htoc204}{\begin{@norefs}\@print{16.8.5}\quad{}Turning reverse execution on and off{}\end{@norefs}}
\tocitem \@locref{htoc205}{\begin{@norefs}\@print{16.8.6}\quad{}Communication between the debugger and the program{}\end{@norefs}}
\tocitem \@locref{htoc206}{\begin{@norefs}\@print{16.8.7}\quad{}Fine-tuning the debugger{}\end{@norefs}}
\tocitem \@locref{htoc207}{\begin{@norefs}\@print{16.8.8}\quad{}User-defined printers{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc208}{\begin{@norefs}\@print{16.9}\quad{}Miscellaneous commands{}\end{@norefs}}
\tocitem \@locref{htoc209}{\begin{@norefs}\@print{16.10}\quad{}Running the debugger under Emacs{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc210}{\begin{@norefs}\@print{Chapter 17}\quad{}Profiling (ocamlprof){}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc211}{\begin{@norefs}\@print{17.1}\quad{}Compiling for profiling{}\end{@norefs}}
\tocitem \@locref{htoc212}{\begin{@norefs}\@print{17.2}\quad{}Profiling an execution{}\end{@norefs}}
\tocitem \@locref{htoc213}{\begin{@norefs}\@print{17.3}\quad{}Printing profiling information{}\end{@norefs}}
\tocitem \@locref{htoc214}{\begin{@norefs}\@print{17.4}\quad{}Time profiling{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc215}{\begin{@norefs}\@print{Chapter 18}\quad{}Interfacing\label{c:intf-c} C with OCaml{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc216}{\begin{@norefs}\@print{18.1}\quad{}Overview and compilation information{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc217}{\begin{@norefs}\@print{18.1.1}\quad{}Declaring primitives{}\end{@norefs}}
\tocitem \@locref{htoc218}{\begin{@norefs}\@print{18.1.2}\quad{}Implementing primitives{}\end{@norefs}}
\tocitem \@locref{htoc219}{\begin{@norefs}\@print{18.1.3}\quad{}Statically linking C code with Caml code{}\end{@norefs}}
\tocitem \@locref{htoc220}{\begin{@norefs}\@print{18.1.4}\quad{}Dynamically linking C code with Caml code{}\end{@norefs}}
\tocitem \@locref{htoc221}{\begin{@norefs}\@print{18.1.5}\quad{}Choosing between static linking and dynamic linking{}\end{@norefs}}
\tocitem \@locref{htoc222}{\begin{@norefs}\@print{18.1.6}\quad{}Building standalone custom runtime systems{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc223}{\begin{@norefs}\@print{18.2}\quad{}The {\machine value} type{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc224}{\begin{@norefs}\@print{18.2.1}\quad{}Integer values{}\end{@norefs}}
\tocitem \@locref{htoc225}{\begin{@norefs}\@print{18.2.2}\quad{}Blocks{}\end{@norefs}}
\tocitem \@locref{htoc226}{\begin{@norefs}\@print{18.2.3}\quad{}Pointers outside the heap{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc227}{\begin{@norefs}\@print{18.3}\quad{}Representation of Caml data types{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc228}{\begin{@norefs}\@print{18.3.1}\quad{}Atomic types{}\end{@norefs}}
\tocitem \@locref{htoc229}{\begin{@norefs}\@print{18.3.2}\quad{}Tuples and records{}\end{@norefs}}
\tocitem \@locref{htoc230}{\begin{@norefs}\@print{18.3.3}\quad{}Arrays{}\end{@norefs}}
\tocitem \@locref{htoc231}{\begin{@norefs}\@print{18.3.4}\quad{}Concrete data types{}\end{@norefs}}
\tocitem \@locref{htoc232}{\begin{@norefs}\@print{18.3.5}\quad{}Objects{}\end{@norefs}}
\tocitem \@locref{htoc233}{\begin{@norefs}\@print{18.3.6}\quad{}Polymorphic variants{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc234}{\begin{@norefs}\@print{18.4}\quad{}Operations on values{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc235}{\begin{@norefs}\@print{18.4.1}\quad{}Kind tests{}\end{@norefs}}
\tocitem \@locref{htoc236}{\begin{@norefs}\@print{18.4.2}\quad{}Operations on integers{}\end{@norefs}}
\tocitem \@locref{htoc237}{\begin{@norefs}\@print{18.4.3}\quad{}Accessing blocks{}\end{@norefs}}
\tocitem \@locref{htoc238}{\begin{@norefs}\@print{18.4.4}\quad{}Allocating blocks{}\end{@norefs}}
\tocitem \@locref{htoc239}{\begin{@norefs}\@print{18.4.5}\quad{}Raising exceptions{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc240}{\begin{@norefs}\@print{18.5}\quad{}Living in harmony with the garbage collector{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc241}{\begin{@norefs}\@print{18.5.1}\quad{}Simple interface{}\end{@norefs}}
\tocitem \@locref{htoc242}{\begin{@norefs}\@print{18.5.2}\quad{}Low-level interface{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc243}{\begin{@norefs}\@print{18.6}\quad{}A complete example{}\end{@norefs}}
\tocitem \@locref{htoc244}{\begin{@norefs}\@print{18.7}\quad{}Advanced topic: callbacks from C to Caml{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc245}{\begin{@norefs}\@print{18.7.1}\quad{}Applying Caml closures from C{}\end{@norefs}}
\tocitem \@locref{htoc246}{\begin{@norefs}\@print{18.7.2}\quad{}Registering Caml closures for use in C functions{}\end{@norefs}}
\tocitem \@locref{htoc247}{\begin{@norefs}\@print{18.7.3}\quad{}Registering Caml exceptions for use in C functions{}\end{@norefs}}
\tocitem \@locref{htoc248}{\begin{@norefs}\@print{18.7.4}\quad{}Main program in C{}\end{@norefs}}
\tocitem \@locref{htoc249}{\begin{@norefs}\@print{18.7.5}\quad{}Embedding the Caml code in the C code{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc250}{\begin{@norefs}\@print{18.8}\quad{}Advanced example with callbacks{}\end{@norefs}}
\tocitem \@locref{htoc251}{\begin{@norefs}\@print{18.9}\quad{}Advanced topic: custom blocks{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc252}{\begin{@norefs}\@print{18.9.1}\quad{}The {\machine struct\ custom{\char95}operations}{}\end{@norefs}}
\tocitem \@locref{htoc253}{\begin{@norefs}\@print{18.9.2}\quad{}Allocating custom blocks{}\end{@norefs}}
\tocitem \@locref{htoc254}{\begin{@norefs}\@print{18.9.3}\quad{}Accessing custom blocks{}\end{@norefs}}
\tocitem \@locref{htoc255}{\begin{@norefs}\@print{18.9.4}\quad{}Writing custom serialization and deserialization functions{}\end{@norefs}}
\tocitem \@locref{htoc256}{\begin{@norefs}\@print{18.9.5}\quad{}Choosing identifiers{}\end{@norefs}}
\tocitem \@locref{htoc257}{\begin{@norefs}\@print{18.9.6}\quad{}Finalized blocks{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc258}{\begin{@norefs}\@print{18.10}\quad{}Advanced topic: multithreading{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc259}{\begin{@norefs}\@print{18.10.1}\quad{}Registering threads created from C{}\end{@norefs}}
\tocitem \@locref{htoc260}{\begin{@norefs}\@print{18.10.2}\quad{}Parallel execution of long-running C code{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc261}{\begin{@norefs}\@print{18.11}\quad{}Building mixed C/Caml libraries: {\machine ocamlmklib}{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc262}{\begin{@norefs}\@print{Part IV}\quad{}The OCaml library{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc263}{\begin{@norefs}\@print{Chapter 19}\quad{}The core library{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc264}{\begin{@norefs}\@print{19.1}\quad{}Built-in types and predefined exceptions{}\end{@norefs}}
\tocitem \@locref{htoc265}{\begin{@norefs}\@print{19.2}\quad{}Module {\tt Pervasives}: the initially opened module{}\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc266}{\begin{@norefs}\@print{Chapter 20}\quad{}The standard library{}\end{@norefs}}
\tocitem \@locref{htoc267}{\begin{@norefs}\@print{Chapter 21}\quad{}The unix library: Unix system calls{}\end{@norefs}}
\tocitem \@locref{htoc268}{\begin{@norefs}\@print{Chapter 22}\quad{}The num library: arbitrary-precision rational arithmetic{}\end{@norefs}}
\tocitem \@locref{htoc269}{\begin{@norefs}\@print{Chapter 23}\quad{}The str library: regular expressions and string processing{}\end{@norefs}}
\tocitem \@locref{htoc270}{\begin{@norefs}\@print{Chapter 24}\quad{}The threads library{}\end{@norefs}}
\tocitem \@locref{htoc271}{\begin{@norefs}\@print{Chapter 25}\quad{}The graphics library{}\end{@norefs}}
\tocitem \@locref{htoc272}{\begin{@norefs}\@print{Chapter 26}\quad{}The dbm library: access to NDBM databases{}\end{@norefs}}
\tocitem \@locref{htoc273}{\begin{@norefs}\@print{Chapter 27}\quad{}The dynlink library: dynamic loading and linking of object files{}\end{@norefs}}
\tocitem \@locref{htoc274}{\begin{@norefs}\@print{Chapter 28}\quad{}The LablTk library: Tcl/Tk GUI interface{}\end{@norefs}}
\tocitem \@locref{htoc275}{\begin{@norefs}\@print{Chapter 29}\quad{}The bigarray library{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc276}{\begin{@norefs}\@print{29.1}\quad{}Module {\tt Bigarray}: large, multi-dimensional, numerical arrays{}\end{@norefs}}
\tocitem \@locref{htoc277}{\begin{@norefs}\@print{29.2}\quad{}Big arrays in the Caml-C interface{}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc278}{\begin{@norefs}\@print{29.2.1}\quad{}Include file{}\end{@norefs}}
\tocitem \@locref{htoc279}{\begin{@norefs}\@print{29.2.2}\quad{}Accessing a Caml bigarray from C or Fortran{}\end{@norefs}}
\tocitem \@locref{htoc280}{\begin{@norefs}\@print{29.2.3}\quad{}Wrapping a C or Fortran array as a Caml big array{}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc281}{\begin{@norefs}\@print{Part V}\quad{}Appendix{}\end{@norefs}}
\end{tocenv}
