\begin{tocenv}
\tocitem \@locref{htoc1}{\begin{@norefs}\@print{Part&nbsp;I}\quad{}An introduction to Objective Caml\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc2}{\begin{@norefs}\@print{Chapter&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;II}\quad{}The Objective Caml language\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc51}{\begin{@norefs}\@print{Chapter&nbsp;6}\quad{}The Objective Caml 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\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}}
\end{tocenv}
\tocitem \@locref{htoc72}{\begin{@norefs}\@print{6.8}\quad{}Type and exception definitions\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc73}{\begin{@norefs}\@print{6.8.1}\quad{}Type definitions\end{@norefs}}
\tocitem \@locref{htoc74}{\begin{@norefs}\@print{6.8.2}\quad{}Exception definitions\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc75}{\begin{@norefs}\@print{6.9}\quad{}Classes\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc76}{\begin{@norefs}\@print{6.9.1}\quad{}Class types\end{@norefs}}
\tocitem \@locref{htoc77}{\begin{@norefs}\@print{6.9.2}\quad{}Class expressions\end{@norefs}}
\tocitem \@locref{htoc78}{\begin{@norefs}\@print{6.9.3}\quad{}Class definitions\end{@norefs}}
\tocitem \@locref{htoc79}{\begin{@norefs}\@print{6.9.4}\quad{}Class specification\end{@norefs}}
\tocitem \@locref{htoc80}{\begin{@norefs}\@print{6.9.5}\quad{}Class type definitions\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc81}{\begin{@norefs}\@print{6.10}\quad{}Module types (module specifications)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc82}{\begin{@norefs}\@print{6.10.1}\quad{}Simple module types\end{@norefs}}
\tocitem \@locref{htoc83}{\begin{@norefs}\@print{6.10.2}\quad{}Signatures\end{@norefs}}
\tocitem \@locref{htoc84}{\begin{@norefs}\@print{6.10.3}\quad{}Functor types\end{@norefs}}
\tocitem \@locref{htoc85}{\begin{@norefs}\@print{6.10.4}\quad{}The {\machine with} operator\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc86}{\begin{@norefs}\@print{6.11}\quad{}Module expressions (module implementations)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc87}{\begin{@norefs}\@print{6.11.1}\quad{}Simple module expressions\end{@norefs}}
\tocitem \@locref{htoc88}{\begin{@norefs}\@print{6.11.2}\quad{}Structures\end{@norefs}}
\tocitem \@locref{htoc89}{\begin{@norefs}\@print{6.11.3}\quad{}Functors\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc90}{\begin{@norefs}\@print{6.12}\quad{}Compilation units\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc91}{\begin{@norefs}\@print{Chapter&nbsp;7}\quad{}Language extensions\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc92}{\begin{@norefs}\@print{7.1}\quad{}Integer literals for types {\machine int32}, {\machine int64} and {\machine nativeint}\end{@norefs}}
\tocitem \@locref{htoc93}{\begin{@norefs}\@print{7.2}\quad{}Streams and stream parsers\end{@norefs}}
\tocitem \@locref{htoc94}{\begin{@norefs}\@print{7.3}\quad{}Recursive definitions of values\end{@norefs}}
\tocitem \@locref{htoc95}{\begin{@norefs}\@print{7.4}\quad{}Range patterns\end{@norefs}}
\tocitem \@locref{htoc96}{\begin{@norefs}\@print{7.5}\quad{}Assertion checking\end{@norefs}}
\tocitem \@locref{htoc97}{\begin{@norefs}\@print{7.6}\quad{}Lazy evaluation\end{@norefs}}
\tocitem \@locref{htoc98}{\begin{@norefs}\@print{7.7}\quad{}Local modules\end{@norefs}}
\tocitem \@locref{htoc99}{\begin{@norefs}\@print{7.8}\quad{}Private types\end{@norefs}}
\tocitem \@locref{htoc100}{\begin{@norefs}\@print{7.9}\quad{}Recursive modules\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc101}{\begin{@norefs}\@print{Part&nbsp;III}\quad{}The Objective Caml tools\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc102}{\begin{@norefs}\@print{Chapter&nbsp;8}\quad{}Batch compilation (ocamlc)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc103}{\begin{@norefs}\@print{8.1}\quad{}Overview of the compiler\end{@norefs}}
\tocitem \@locref{htoc104}{\begin{@norefs}\@print{8.2}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc105}{\begin{@norefs}\@print{8.3}\quad{}Modules and the file system\end{@norefs}}
\tocitem \@locref{htoc106}{\begin{@norefs}\@print{8.4}\quad{}Common errors\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc107}{\begin{@norefs}\@print{Chapter&nbsp;9}\quad{}The toplevel system (ocaml)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc108}{\begin{@norefs}\@print{9.1}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc109}{\begin{@norefs}\@print{9.2}\quad{}Toplevel directives\end{@norefs}}
\tocitem \@locref{htoc110}{\begin{@norefs}\@print{9.3}\quad{}The toplevel and the module system\end{@norefs}}
\tocitem \@locref{htoc111}{\begin{@norefs}\@print{9.4}\quad{}Common errors\end{@norefs}}
\tocitem \@locref{htoc112}{\begin{@norefs}\@print{9.5}\quad{}Building custom toplevel systems: {\machine ocamlmktop}\end{@norefs}}
\tocitem \@locref{htoc113}{\begin{@norefs}\@print{9.6}\quad{}Options\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc114}{\begin{@norefs}\@print{Chapter&nbsp;10}\quad{}The runtime system (ocamlrun)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc115}{\begin{@norefs}\@print{10.1}\quad{}Overview\end{@norefs}}
\tocitem \@locref{htoc116}{\begin{@norefs}\@print{10.2}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc117}{\begin{@norefs}\@print{10.3}\quad{}Dynamic loading of shared libraries\end{@norefs}}
\tocitem \@locref{htoc118}{\begin{@norefs}\@print{10.4}\quad{}Common errors\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc119}{\begin{@norefs}\@print{Chapter&nbsp;11}\quad{}Native-code compilation (ocamlopt)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc120}{\begin{@norefs}\@print{11.1}\quad{}Overview of the compiler\end{@norefs}}
\tocitem \@locref{htoc121}{\begin{@norefs}\@print{11.2}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc122}{\begin{@norefs}\@print{11.3}\quad{}Common errors\end{@norefs}}
\tocitem \@locref{htoc123}{\begin{@norefs}\@print{11.4}\quad{}Running executables produced by ocamlopt\end{@norefs}}
\tocitem \@locref{htoc124}{\begin{@norefs}\@print{11.5}\quad{}Compatibility with the bytecode compiler\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc125}{\begin{@norefs}\@print{Chapter&nbsp;12}\quad{}Lexer and parser generators (ocamllex, ocamlyacc)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc126}{\begin{@norefs}\@print{12.1}\quad{}Overview of {\machine ocamllex}\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc127}{\begin{@norefs}\@print{12.1.1}\quad{}Options\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc128}{\begin{@norefs}\@print{12.2}\quad{}Syntax of lexer definitions\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc129}{\begin{@norefs}\@print{12.2.1}\quad{}Header and trailer\end{@norefs}}
\tocitem \@locref{htoc130}{\begin{@norefs}\@print{12.2.2}\quad{}Naming regular expressions\end{@norefs}}
\tocitem \@locref{htoc131}{\begin{@norefs}\@print{12.2.3}\quad{}Entry points\end{@norefs}}
\tocitem \@locref{htoc132}{\begin{@norefs}\@print{12.2.4}\quad{}Regular expressions\end{@norefs}}
\tocitem \@locref{htoc133}{\begin{@norefs}\@print{12.2.5}\quad{}Actions\end{@norefs}}
\tocitem \@locref{htoc134}{\begin{@norefs}\@print{12.2.6}\quad{}Variables in regular expressions\end{@norefs}}
\tocitem \@locref{htoc135}{\begin{@norefs}\@print{12.2.7}\quad{}Reserved identifiers\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc136}{\begin{@norefs}\@print{12.3}\quad{}Overview of {\machine ocamlyacc}\end{@norefs}}
\tocitem \@locref{htoc137}{\begin{@norefs}\@print{12.4}\quad{}Syntax of grammar definitions\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc138}{\begin{@norefs}\@print{12.4.1}\quad{}Header and trailer\end{@norefs}}
\tocitem \@locref{htoc139}{\begin{@norefs}\@print{12.4.2}\quad{}Declarations\end{@norefs}}
\tocitem \@locref{htoc140}{\begin{@norefs}\@print{12.4.3}\quad{}Rules\end{@norefs}}
\tocitem \@locref{htoc141}{\begin{@norefs}\@print{12.4.4}\quad{}Error handling\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc142}{\begin{@norefs}\@print{12.5}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc143}{\begin{@norefs}\@print{12.6}\quad{}A complete example\end{@norefs}}
\tocitem \@locref{htoc144}{\begin{@norefs}\@print{12.7}\quad{}Common errors\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc145}{\begin{@norefs}\@print{Chapter&nbsp;13}\quad{}Dependency generator (ocamldep)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc146}{\begin{@norefs}\@print{13.1}\quad{}Options\end{@norefs}}
\tocitem \@locref{htoc147}{\begin{@norefs}\@print{13.2}\quad{}A typical Makefile\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc148}{\begin{@norefs}\@print{Chapter&nbsp;14}\quad{}The browser/editor (ocamlbrowser)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc149}{\begin{@norefs}\@print{14.1}\quad{}Invocation\end{@norefs}}
\tocitem \@locref{htoc150}{\begin{@norefs}\@print{14.2}\quad{}Viewer\end{@norefs}}
\tocitem \@locref{htoc151}{\begin{@norefs}\@print{14.3}\quad{}Module browsing\end{@norefs}}
\tocitem \@locref{htoc152}{\begin{@norefs}\@print{14.4}\quad{}File editor\end{@norefs}}
\tocitem \@locref{htoc153}{\begin{@norefs}\@print{14.5}\quad{}Shell\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc154}{\begin{@norefs}\@print{Chapter&nbsp;15}\quad{}The documentation generator (ocamldoc)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc155}{\begin{@norefs}\@print{15.1}\quad{}Usage\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc156}{\begin{@norefs}\@print{15.1.1}\quad{}Invocation\end{@norefs}}
\tocitem \@locref{htoc157}{\begin{@norefs}\@print{15.1.2}\quad{}Merging of module information\end{@norefs}}
\tocitem \@locref{htoc158}{\begin{@norefs}\@print{15.1.3}\quad{}Coding rules\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc159}{\begin{@norefs}\@print{15.2}\quad{}Syntax of documentation comments\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc160}{\begin{@norefs}\@print{15.2.1}\quad{}Placement of documentation comments\end{@norefs}}
\tocitem \@locref{htoc161}{\begin{@norefs}\@print{15.2.2}\quad{}The Stop special comment\end{@norefs}}
\tocitem \@locref{htoc162}{\begin{@norefs}\@print{15.2.3}\quad{}Syntax of documentation comments\end{@norefs}}
\tocitem \@locref{htoc163}{\begin{@norefs}\@print{15.2.4}\quad{}Text formatting\end{@norefs}}
\tocitem \@locref{htoc164}{\begin{@norefs}\@print{15.2.5}\quad{}Documentation tags (@-tags)\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc165}{\begin{@norefs}\@print{15.3}\quad{}Custom generators\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc166}{\begin{@norefs}\@print{15.3.1}\quad{}The generator class\end{@norefs}}
\tocitem \@locref{htoc167}{\begin{@norefs}\@print{15.3.2}\quad{}Handling custom tags\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc168}{\begin{@norefs}\@print{15.4}\quad{}Adding command line options\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc169}{\begin{@norefs}\@print{15.4.1}\quad{}Compilation and usage\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc170}{\begin{@norefs}\@print{Chapter&nbsp;16}\quad{}The debugger (ocamldebug)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc171}{\begin{@norefs}\@print{16.1}\quad{}Compiling for debugging\end{@norefs}}
\tocitem \@locref{htoc172}{\begin{@norefs}\@print{16.2}\quad{}Invocation\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc173}{\begin{@norefs}\@print{16.2.1}\quad{}Starting the debugger\end{@norefs}}
\tocitem \@locref{htoc174}{\begin{@norefs}\@print{16.2.2}\quad{}Exiting the debugger\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc175}{\begin{@norefs}\@print{16.3}\quad{}Commands\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc176}{\begin{@norefs}\@print{16.3.1}\quad{}Getting help\end{@norefs}}
\tocitem \@locref{htoc177}{\begin{@norefs}\@print{16.3.2}\quad{}Accessing the debugger state\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc178}{\begin{@norefs}\@print{16.4}\quad{}Executing a program\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc179}{\begin{@norefs}\@print{16.4.1}\quad{}Events\end{@norefs}}
\tocitem \@locref{htoc180}{\begin{@norefs}\@print{16.4.2}\quad{}Starting the debugged program\end{@norefs}}
\tocitem \@locref{htoc181}{\begin{@norefs}\@print{16.4.3}\quad{}Running the program\end{@norefs}}
\tocitem \@locref{htoc182}{\begin{@norefs}\@print{16.4.4}\quad{}Time travel\end{@norefs}}
\tocitem \@locref{htoc183}{\begin{@norefs}\@print{16.4.5}\quad{}Killing the program\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc184}{\begin{@norefs}\@print{16.5}\quad{}Breakpoints\end{@norefs}}
\tocitem \@locref{htoc185}{\begin{@norefs}\@print{16.6}\quad{}The call stack\end{@norefs}}
\tocitem \@locref{htoc186}{\begin{@norefs}\@print{16.7}\quad{}Examining variable values\end{@norefs}}
\tocitem \@locref{htoc187}{\begin{@norefs}\@print{16.8}\quad{}Controlling the debugger\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc188}{\begin{@norefs}\@print{16.8.1}\quad{}Setting the program name and arguments\end{@norefs}}
\tocitem \@locref{htoc189}{\begin{@norefs}\@print{16.8.2}\quad{}How programs are loaded\end{@norefs}}
\tocitem \@locref{htoc190}{\begin{@norefs}\@print{16.8.3}\quad{}Search path for files\end{@norefs}}
\tocitem \@locref{htoc191}{\begin{@norefs}\@print{16.8.4}\quad{}Working directory\end{@norefs}}
\tocitem \@locref{htoc192}{\begin{@norefs}\@print{16.8.5}\quad{}Turning reverse execution on and off\end{@norefs}}
\tocitem \@locref{htoc193}{\begin{@norefs}\@print{16.8.6}\quad{}Communication between the debugger and the program\end{@norefs}}
\tocitem \@locref{htoc194}{\begin{@norefs}\@print{16.8.7}\quad{}Fine-tuning the debugger\end{@norefs}}
\tocitem \@locref{htoc195}{\begin{@norefs}\@print{16.8.8}\quad{}User-defined printers\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc196}{\begin{@norefs}\@print{16.9}\quad{}Miscellaneous commands\end{@norefs}}
\tocitem \@locref{htoc197}{\begin{@norefs}\@print{16.10}\quad{}Running the debugger under Emacs\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc198}{\begin{@norefs}\@print{Chapter&nbsp;17}\quad{}Profiling (ocamlprof)\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc199}{\begin{@norefs}\@print{17.1}\quad{}Compiling for profiling\end{@norefs}}
\tocitem \@locref{htoc200}{\begin{@norefs}\@print{17.2}\quad{}Profiling an execution\end{@norefs}}
\tocitem \@locref{htoc201}{\begin{@norefs}\@print{17.3}\quad{}Printing profiling information\end{@norefs}}
\tocitem \@locref{htoc202}{\begin{@norefs}\@print{17.4}\quad{}Time profiling\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc203}{\begin{@norefs}\@print{Chapter&nbsp;18}\quad{}Interfacing C with Objective Caml\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc204}{\begin{@norefs}\@print{18.1}\quad{}Overview and compilation information\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc205}{\begin{@norefs}\@print{18.1.1}\quad{}Declaring primitives\end{@norefs}}
\tocitem \@locref{htoc206}{\begin{@norefs}\@print{18.1.2}\quad{}Implementing primitives\end{@norefs}}
\tocitem \@locref{htoc207}{\begin{@norefs}\@print{18.1.3}\quad{}Statically linking C code with Caml code\end{@norefs}}
\tocitem \@locref{htoc208}{\begin{@norefs}\@print{18.1.4}\quad{}Dynamically linking C code with Caml code\end{@norefs}}
\tocitem \@locref{htoc209}{\begin{@norefs}\@print{18.1.5}\quad{}Choosing between static linking and dynamic linking\end{@norefs}}
\tocitem \@locref{htoc210}{\begin{@norefs}\@print{18.1.6}\quad{}Building standalone custom runtime systems\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc211}{\begin{@norefs}\@print{18.2}\quad{}The {\machine value} type\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc212}{\begin{@norefs}\@print{18.2.1}\quad{}Integer values\end{@norefs}}
\tocitem \@locref{htoc213}{\begin{@norefs}\@print{18.2.2}\quad{}Blocks\end{@norefs}}
\tocitem \@locref{htoc214}{\begin{@norefs}\@print{18.2.3}\quad{}Pointers outside the heap\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc215}{\begin{@norefs}\@print{18.3}\quad{}Representation of Caml data types\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc216}{\begin{@norefs}\@print{18.3.1}\quad{}Atomic types\end{@norefs}}
\tocitem \@locref{htoc217}{\begin{@norefs}\@print{18.3.2}\quad{}Tuples and records\end{@norefs}}
\tocitem \@locref{htoc218}{\begin{@norefs}\@print{18.3.3}\quad{}Arrays\end{@norefs}}
\tocitem \@locref{htoc219}{\begin{@norefs}\@print{18.3.4}\quad{}Concrete types\end{@norefs}}
\tocitem \@locref{htoc220}{\begin{@norefs}\@print{18.3.5}\quad{}Objects\end{@norefs}}
\tocitem \@locref{htoc221}{\begin{@norefs}\@print{18.3.6}\quad{}Variants\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc222}{\begin{@norefs}\@print{18.4}\quad{}Operations on values\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc223}{\begin{@norefs}\@print{18.4.1}\quad{}Kind tests\end{@norefs}}
\tocitem \@locref{htoc224}{\begin{@norefs}\@print{18.4.2}\quad{}Operations on integers\end{@norefs}}
\tocitem \@locref{htoc225}{\begin{@norefs}\@print{18.4.3}\quad{}Accessing blocks\end{@norefs}}
\tocitem \@locref{htoc226}{\begin{@norefs}\@print{18.4.4}\quad{}Allocating blocks\end{@norefs}}
\tocitem \@locref{htoc227}{\begin{@norefs}\@print{18.4.5}\quad{}Raising exceptions\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc228}{\begin{@norefs}\@print{18.5}\quad{}Living in harmony with the garbage collector\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc229}{\begin{@norefs}\@print{18.5.1}\quad{}Simple interface\end{@norefs}}
\tocitem \@locref{htoc230}{\begin{@norefs}\@print{18.5.2}\quad{}Low-level interface\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc231}{\begin{@norefs}\@print{18.6}\quad{}A complete example\end{@norefs}}
\tocitem \@locref{htoc232}{\begin{@norefs}\@print{18.7}\quad{}Advanced topic: callbacks from C to Caml\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc233}{\begin{@norefs}\@print{18.7.1}\quad{}Applying Caml closures from C\end{@norefs}}
\tocitem \@locref{htoc234}{\begin{@norefs}\@print{18.7.2}\quad{}Registering Caml closures for use in C functions\end{@norefs}}
\tocitem \@locref{htoc235}{\begin{@norefs}\@print{18.7.3}\quad{}Registering Caml exceptions for use in C functions\end{@norefs}}
\tocitem \@locref{htoc236}{\begin{@norefs}\@print{18.7.4}\quad{}Main program in C\end{@norefs}}
\tocitem \@locref{htoc237}{\begin{@norefs}\@print{18.7.5}\quad{}Embedding the Caml code in the C code\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc238}{\begin{@norefs}\@print{18.8}\quad{}Advanced example with callbacks\end{@norefs}}
\tocitem \@locref{htoc239}{\begin{@norefs}\@print{18.9}\quad{}Advanced topic: custom blocks\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc240}{\begin{@norefs}\@print{18.9.1}\quad{}The {\machine struct\ custom{\char95}operations}\end{@norefs}}
\tocitem \@locref{htoc241}{\begin{@norefs}\@print{18.9.2}\quad{}Allocating custom blocks\end{@norefs}}
\tocitem \@locref{htoc242}{\begin{@norefs}\@print{18.9.3}\quad{}Accessing custom blocks\end{@norefs}}
\tocitem \@locref{htoc243}{\begin{@norefs}\@print{18.9.4}\quad{}Writing custom serialization and deserialization functions\end{@norefs}}
\tocitem \@locref{htoc244}{\begin{@norefs}\@print{18.9.5}\quad{}Choosing identifiers\end{@norefs}}
\tocitem \@locref{htoc245}{\begin{@norefs}\@print{18.9.6}\quad{}Finalized blocks\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc246}{\begin{@norefs}\@print{18.10}\quad{}Building mixed C/Caml libraries: {\machine ocamlmklib}\end{@norefs}}
\end{tocenv}
\end{tocenv}
\tocitem \@locref{htoc247}{\begin{@norefs}\@print{Part&nbsp;IV}\quad{}The Objective Caml library\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc248}{\begin{@norefs}\@print{Chapter&nbsp;19}\quad{}The core library\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc249}{\begin{@norefs}\@print{19.1}\quad{}Built-in types and predefined exceptions\end{@norefs}}
\tocitem \@locref{htoc250}{\begin{@norefs}\@print{19.2}\quad{}Module {\tt Pervasives}: the initially opened module\end{@norefs}}
\end{tocenv}
\tocitem \@locref{htoc251}{\begin{@norefs}\@print{Chapter&nbsp;20}\quad{}The standard library\end{@norefs}}
\tocitem \@locref{htoc252}{\begin{@norefs}\@print{Chapter&nbsp;21}\quad{}The unix library: Unix system calls\end{@norefs}}
\tocitem \@locref{htoc253}{\begin{@norefs}\@print{Chapter&nbsp;22}\quad{}The num library: arbitrary-precision rational arithmetic\end{@norefs}}
\tocitem \@locref{htoc254}{\begin{@norefs}\@print{Chapter&nbsp;23}\quad{}The str library: regular expressions and string processing\end{@norefs}}
\tocitem \@locref{htoc255}{\begin{@norefs}\@print{Chapter&nbsp;24}\quad{}The threads library\end{@norefs}}
\tocitem \@locref{htoc256}{\begin{@norefs}\@print{Chapter&nbsp;25}\quad{}The graphics library\end{@norefs}}
\tocitem \@locref{htoc257}{\begin{@norefs}\@print{Chapter&nbsp;26}\quad{}The dbm library: access to NDBM databases\end{@norefs}}
\tocitem \@locref{htoc258}{\begin{@norefs}\@print{Chapter&nbsp;27}\quad{}The dynlink library: dynamic loading and linking of object files\end{@norefs}}
\tocitem \@locref{htoc259}{\begin{@norefs}\@print{Chapter&nbsp;28}\quad{}The LablTk library: Tcl/Tk GUI interface\end{@norefs}}
\tocitem \@locref{htoc260}{\begin{@norefs}\@print{Chapter&nbsp;29}\quad{}The bigarray library\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc261}{\begin{@norefs}\@print{29.1}\quad{}Module {\tt Bigarray}: large, multi-dimensional, numerical arrays\end{@norefs}}
\tocitem \@locref{htoc262}{\begin{@norefs}\@print{29.2}\quad{}Big arrays in the Caml-C interface\end{@norefs}}
\begin{tocenv}
\tocitem \@locref{htoc263}{\begin{@norefs}\@print{29.2.1}\quad{}Include file\end{@norefs}}
\tocitem \@locref{htoc264}{\begin{@norefs}\@print{29.2.2}\quad{}Accessing a Caml bigarray from C or Fortran\end{@norefs}}
\tocitem \@locref{htoc265}{\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{htoc266}{\begin{@norefs}\@print{Part&nbsp;V}\quad{}Appendix\end{@norefs}}
\end{tocenv}
