Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > fb18813323b88f9a6e869238ab603257 > files > 503

ocaml-doc-4.07.1-2.mga7.noarch.rpm

<!DOCTYPE html>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="generator" content="hevea 2.32">

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<link rel="stylesheet" type="text/css" href="manual.css">
<title>Contents</title>
</head>
<body>
<a href="index.html"><img src="contents_motif.svg" alt="Up"></a>
<a href="foreword.html"><img src="next_motif.svg" alt="Next"></a>
<hr>
<h1 class="chapter" id="sec1">Contents</h1>
<ul class="toc"><li class="li-toc">
<a href="index.html#sec6">Part&#XA0;I&#XA0;&#XA0;An introduction to OCaml</a>
<ul class="toc"><li class="li-toc">
<a href="coreexamples.html#sec7">Chapter&#XA0;1&#XA0;&#XA0;The core language</a>
<ul class="toc"><li class="li-toc">
<a href="coreexamples.html#sec8">1.1&#XA0;&#XA0;Basics</a>
</li><li class="li-toc"><a href="coreexamples.html#sec9">1.2&#XA0;&#XA0;Data types</a>
</li><li class="li-toc"><a href="coreexamples.html#sec10">1.3&#XA0;&#XA0;Functions as values</a>
</li><li class="li-toc"><a href="coreexamples.html#sec11">1.4&#XA0;&#XA0;Records and variants</a>
<ul class="toc"><li class="li-toc">
<a href="coreexamples.html#sec12">1.4.1&#XA0;&#XA0;Record and variant disambiguation</a>
</li></ul>
</li><li class="li-toc"><a href="coreexamples.html#sec13">1.5&#XA0;&#XA0;Imperative features</a>
</li><li class="li-toc"><a href="coreexamples.html#sec14">1.6&#XA0;&#XA0;Exceptions</a>
</li><li class="li-toc"><a href="coreexamples.html#sec15">1.7&#XA0;&#XA0;Symbolic processing of expressions</a>
</li><li class="li-toc"><a href="coreexamples.html#sec16">1.8&#XA0;&#XA0;Pretty-printing</a>
</li><li class="li-toc"><a href="coreexamples.html#sec17">1.9&#XA0;&#XA0;Standalone OCaml programs</a>
</li></ul>
</li><li class="li-toc"><a href="moduleexamples.html#sec18">Chapter&#XA0;2&#XA0;&#XA0;The module system</a>
<ul class="toc"><li class="li-toc">
<a href="moduleexamples.html#sec19">2.1&#XA0;&#XA0;Structures</a>
</li><li class="li-toc"><a href="moduleexamples.html#sec20">2.2&#XA0;&#XA0;Signatures</a>
</li><li class="li-toc"><a href="moduleexamples.html#sec21">2.3&#XA0;&#XA0;Functors</a>
</li><li class="li-toc"><a href="moduleexamples.html#sec22">2.4&#XA0;&#XA0;Functors and type abstraction</a>
</li><li class="li-toc"><a href="moduleexamples.html#sec23">2.5&#XA0;&#XA0;Modules and separate compilation</a>
</li></ul>
</li><li class="li-toc"><a href="objectexamples.html#sec24">Chapter&#XA0;3&#XA0;&#XA0;Objects in OCaml</a>
<ul class="toc"><li class="li-toc">
<a href="objectexamples.html#sec25">3.1&#XA0;&#XA0;Classes and objects</a>
</li><li class="li-toc"><a href="objectexamples.html#sec26">3.2&#XA0;&#XA0;Immediate objects</a>
</li><li class="li-toc"><a href="objectexamples.html#sec27">3.3&#XA0;&#XA0;Reference to self</a>
</li><li class="li-toc"><a href="objectexamples.html#sec28">3.4&#XA0;&#XA0;Initializers</a>
</li><li class="li-toc"><a href="objectexamples.html#sec29">3.5&#XA0;&#XA0;Virtual methods</a>
</li><li class="li-toc"><a href="objectexamples.html#sec30">3.6&#XA0;&#XA0;Private methods</a>
</li><li class="li-toc"><a href="objectexamples.html#sec31">3.7&#XA0;&#XA0;Class interfaces</a>
</li><li class="li-toc"><a href="objectexamples.html#sec32">3.8&#XA0;&#XA0;Inheritance</a>
</li><li class="li-toc"><a href="objectexamples.html#sec33">3.9&#XA0;&#XA0;Multiple inheritance</a>
</li><li class="li-toc"><a href="objectexamples.html#sec34">3.10&#XA0;&#XA0;Parameterized classes</a>
</li><li class="li-toc"><a href="objectexamples.html#sec35">3.11&#XA0;&#XA0;Polymorphic methods</a>
</li><li class="li-toc"><a href="objectexamples.html#sec36">3.12&#XA0;&#XA0;Using coercions</a>
</li><li class="li-toc"><a href="objectexamples.html#sec37">3.13&#XA0;&#XA0;Functional objects</a>
</li><li class="li-toc"><a href="objectexamples.html#sec38">3.14&#XA0;&#XA0;Cloning objects</a>
</li><li class="li-toc"><a href="objectexamples.html#sec39">3.15&#XA0;&#XA0;Recursive classes</a>
</li><li class="li-toc"><a href="objectexamples.html#sec40">3.16&#XA0;&#XA0;Binary methods</a>
</li><li class="li-toc"><a href="objectexamples.html#sec41">3.17&#XA0;&#XA0;Friends</a>
</li></ul>
</li><li class="li-toc"><a href="lablexamples.html#sec42">Chapter&#XA0;4&#XA0;&#XA0;Labels and variants</a>
<ul class="toc"><li class="li-toc">
<a href="lablexamples.html#sec43">4.1&#XA0;&#XA0;Labels</a>
<ul class="toc"><li class="li-toc">
<a href="lablexamples.html#sec44">4.1.1&#XA0;&#XA0;Optional arguments</a>
</li><li class="li-toc"><a href="lablexamples.html#sec45">4.1.2&#XA0;&#XA0;Labels and type inference</a>
</li><li class="li-toc"><a href="lablexamples.html#sec46">4.1.3&#XA0;&#XA0;Suggestions for labeling</a>
</li></ul>
</li><li class="li-toc"><a href="lablexamples.html#sec47">4.2&#XA0;&#XA0;Polymorphic variants</a>
<ul class="toc"><li class="li-toc">
<a href="lablexamples.html#sec50">4.2.1&#XA0;&#XA0;Weaknesses of polymorphic variants</a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="polymorphism.html#sec51">Chapter&#XA0;5&#XA0;&#XA0;Polymorphism and its limitations</a>
<ul class="toc"><li class="li-toc">
<a href="polymorphism.html#sec52">5.1&#XA0;&#XA0;Weak polymorphism and mutation</a>
<ul class="toc"><li class="li-toc">
<a href="polymorphism.html#sec53">5.1.1&#XA0;&#XA0;Weakly polymorphic types</a>
</li><li class="li-toc"><a href="polymorphism.html#sec54">5.1.2&#XA0;&#XA0;The value restriction</a>
</li><li class="li-toc"><a href="polymorphism.html#sec55">5.1.3&#XA0;&#XA0;The relaxed value restriction</a>
</li><li class="li-toc"><a href="polymorphism.html#sec56">5.1.4&#XA0;&#XA0;Variance and value restriction</a>
</li><li class="li-toc"><a href="polymorphism.html#sec57">5.1.5&#XA0;&#XA0;Abstract data types</a>
</li></ul>
</li><li class="li-toc"><a href="polymorphism.html#sec58">5.2&#XA0;&#XA0;Polymorphic recursion</a>
<ul class="toc"><li class="li-toc">
<a href="polymorphism.html#sec59">5.2.1&#XA0;&#XA0;Explicitly polymorphic annotations</a>
</li><li class="li-toc"><a href="polymorphism.html#sec60">5.2.2&#XA0;&#XA0;More examples</a>
</li></ul>
</li><li class="li-toc"><a href="polymorphism.html#sec61">5.3&#XA0;&#XA0;Higher-rank polymorphic functions</a>
</li></ul>
</li><li class="li-toc"><a href="advexamples.html#sec62">Chapter&#XA0;6&#XA0;&#XA0;Advanced examples with classes and modules</a>
<ul class="toc"><li class="li-toc">
<a href="advexamples.html#sec63">6.1&#XA0;&#XA0;Extended example: bank accounts</a>
</li><li class="li-toc"><a href="advexamples.html#sec64">6.2&#XA0;&#XA0;Simple modules as classes</a>
<ul class="toc"><li class="li-toc">
<a href="advexamples.html#sec65">6.2.1&#XA0;&#XA0;Strings</a>
</li><li class="li-toc"><a href="advexamples.html#sec67">6.2.2&#XA0;&#XA0;Hashtbl</a>
</li><li class="li-toc"><a href="advexamples.html#sec68">6.2.3&#XA0;&#XA0;Sets</a>
</li></ul>
</li><li class="li-toc"><a href="advexamples.html#sec69">6.3&#XA0;&#XA0;The subject/observer pattern</a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="index.html#sec70">Part&#XA0;II&#XA0;&#XA0;The OCaml language</a>
<ul class="toc"><li class="li-toc">
<a href="language.html#sec71">Chapter&#XA0;7&#XA0;&#XA0;The OCaml language</a>
<ul class="toc"><li class="li-toc">
<a href="lex.html#sec74">7.1&#XA0;&#XA0;Lexical conventions</a>
</li><li class="li-toc"><a href="values.html#sec87">7.2&#XA0;&#XA0;Values</a>
<ul class="toc"><li class="li-toc">
<a href="values.html#sec88">7.2.1&#XA0;&#XA0;Base values</a>
</li><li class="li-toc"><a href="values.html#sec93">7.2.2&#XA0;&#XA0;Tuples</a>
</li><li class="li-toc"><a href="values.html#sec94">7.2.3&#XA0;&#XA0;Records</a>
</li><li class="li-toc"><a href="values.html#sec95">7.2.4&#XA0;&#XA0;Arrays</a>
</li><li class="li-toc"><a href="values.html#sec96">7.2.5&#XA0;&#XA0;Variant values</a>
</li><li class="li-toc"><a href="values.html#sec97">7.2.6&#XA0;&#XA0;Polymorphic variants</a>
</li><li class="li-toc"><a href="values.html#sec98">7.2.7&#XA0;&#XA0;Functions</a>
</li><li class="li-toc"><a href="values.html#sec99">7.2.8&#XA0;&#XA0;Objects</a>
</li></ul>
</li><li class="li-toc"><a href="names.html#sec100">7.3&#XA0;&#XA0;Names</a>
</li><li class="li-toc"><a href="types.html#sec103">7.4&#XA0;&#XA0;Type expressions</a>
</li><li class="li-toc"><a href="const.html#sec114">7.5&#XA0;&#XA0;Constants</a>
</li><li class="li-toc"><a href="patterns.html#sec115">7.6&#XA0;&#XA0;Patterns</a>
</li><li class="li-toc"><a href="expr.html#s%3Avalue-expr">7.7&#XA0;&#XA0;Expressions</a>
<ul class="toc"><li class="li-toc">
<a href="expr.html#sec129">7.7.1&#XA0;&#XA0;Basic expressions</a>
</li><li class="li-toc"><a href="expr.html#sec138">7.7.2&#XA0;&#XA0;Control structures</a>
</li><li class="li-toc"><a href="expr.html#sec145">7.7.3&#XA0;&#XA0;Operations on data structures</a>
</li><li class="li-toc"><a href="expr.html#sec152">7.7.4&#XA0;&#XA0;Operators</a>
</li><li class="li-toc"><a href="expr.html#sec153">7.7.5&#XA0;&#XA0;Objects</a>
</li><li class="li-toc"><a href="expr.html#sec159">7.7.6&#XA0;&#XA0;Coercions</a>
</li><li class="li-toc"><a href="expr.html#sec163">7.7.7&#XA0;&#XA0;Other</a>
</li></ul>
</li><li class="li-toc"><a href="typedecl.html#sec168">7.8&#XA0;&#XA0;Type and exception definitions</a>
<ul class="toc"><li class="li-toc">
<a href="typedecl.html#sec169">7.8.1&#XA0;&#XA0;Type definitions</a>
</li><li class="li-toc"><a href="typedecl.html#sec170">7.8.2&#XA0;&#XA0;Exception definitions</a>
</li></ul>
</li><li class="li-toc"><a href="classes.html#sec171">7.9&#XA0;&#XA0;Classes</a>
<ul class="toc"><li class="li-toc">
<a href="classes.html#sec172">7.9.1&#XA0;&#XA0;Class types</a>
</li><li class="li-toc"><a href="classes.html#sec182">7.9.2&#XA0;&#XA0;Class expressions</a>
</li><li class="li-toc"><a href="classes.html#sec197">7.9.3&#XA0;&#XA0;Class definitions</a>
</li><li class="li-toc"><a href="classes.html#sec200">7.9.4&#XA0;&#XA0;Class specifications</a>
</li><li class="li-toc"><a href="classes.html#sec201">7.9.5&#XA0;&#XA0;Class type definitions</a>
</li></ul>
</li><li class="li-toc"><a href="modtypes.html#sec202">7.10&#XA0;&#XA0;Module types (module specifications)</a>
<ul class="toc"><li class="li-toc">
<a href="modtypes.html#sec203">7.10.1&#XA0;&#XA0;Simple module types</a>
</li><li class="li-toc"><a href="modtypes.html#sec204">7.10.2&#XA0;&#XA0;Signatures</a>
</li><li class="li-toc"><a href="modtypes.html#sec214">7.10.3&#XA0;&#XA0;Functor types</a>
</li><li class="li-toc"><a href="modtypes.html#sec215">7.10.4&#XA0;&#XA0;The <span class="c003">with</span> operator</a>
</li></ul>
</li><li class="li-toc"><a href="modules.html#s%3Amodule-expr">7.11&#XA0;&#XA0;Module expressions (module implementations)</a>
<ul class="toc"><li class="li-toc">
<a href="modules.html#sec217">7.11.1&#XA0;&#XA0;Simple module expressions</a>
</li><li class="li-toc"><a href="modules.html#sec218">7.11.2&#XA0;&#XA0;Structures</a>
</li><li class="li-toc"><a href="modules.html#sec228">7.11.3&#XA0;&#XA0;Functors</a>
</li></ul>
</li><li class="li-toc"><a href="compunit.html#sec231">7.12&#XA0;&#XA0;Compilation units</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec232">Chapter&#XA0;8&#XA0;&#XA0;Language extensions</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec233">8.1&#XA0;&#XA0;Integer literals for types <span class="c003">int32</span>, <span class="c003">int64</span>
and <span class="c003">nativeint</span></a>
</li><li class="li-toc"><a href="extn.html#sec234">8.2&#XA0;&#XA0;Recursive definitions of values</a>
</li><li class="li-toc"><a href="extn.html#sec235">8.3&#XA0;&#XA0;Lazy patterns</a>
</li><li class="li-toc"><a href="extn.html#sec236">8.4&#XA0;&#XA0;Recursive modules</a>
</li><li class="li-toc"><a href="extn.html#sec237">8.5&#XA0;&#XA0;Private types</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec238">8.5.1&#XA0;&#XA0;Private variant and record types</a>
</li><li class="li-toc"><a href="extn.html#sec239">8.5.2&#XA0;&#XA0;Private type abbreviations</a>
</li><li class="li-toc"><a href="extn.html#sec240">8.5.3&#XA0;&#XA0;Private row types</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec241">8.6&#XA0;&#XA0;Local opens for patterns</a>
</li><li class="li-toc"><a href="extn.html#sec242">8.7&#XA0;&#XA0;Object copy short notations</a>
</li><li class="li-toc"><a href="extn.html#sec243">8.8&#XA0;&#XA0;Locally abstract types</a>
</li><li class="li-toc"><a href="extn.html#sec245">8.9&#XA0;&#XA0;First-class modules</a>
</li><li class="li-toc"><a href="extn.html#sec248">8.10&#XA0;&#XA0;Recovering the type of a module</a>
</li><li class="li-toc"><a href="extn.html#sec249">8.11&#XA0;&#XA0;Substituting inside a signature</a>
</li><li class="li-toc"><a href="extn.html#sec250">8.12&#XA0;&#XA0;Type-level module aliases</a>
</li><li class="li-toc"><a href="extn.html#sec251">8.13&#XA0;&#XA0;Overriding in open statements</a>
</li><li class="li-toc"><a href="extn.html#sec252">8.14&#XA0;&#XA0;Generalized algebraic datatypes</a>
</li><li class="li-toc"><a href="extn.html#sec259">8.15&#XA0;&#XA0;Syntax for Bigarray access</a>
</li><li class="li-toc"><a href="extn.html#sec260">8.16&#XA0;&#XA0;Attributes</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec261">8.16.1&#XA0;&#XA0;Built-in attributes</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec262">8.17&#XA0;&#XA0;Extension nodes</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec263">8.17.1&#XA0;&#XA0;Built-in extension nodes</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec264">8.18&#XA0;&#XA0;Quoted strings</a>
</li><li class="li-toc"><a href="extn.html#sec265">8.19&#XA0;&#XA0;Exception cases in pattern matching</a>
</li><li class="li-toc"><a href="extn.html#sec266">8.20&#XA0;&#XA0;Extensible variant types</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec267">8.20.1&#XA0;&#XA0;Private extensible variant types</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec268">8.21&#XA0;&#XA0;Generative functors</a>
</li><li class="li-toc"><a href="extn.html#sec269">8.22&#XA0;&#XA0;Extension-only syntax</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec270">8.22.1&#XA0;&#XA0;Extension operators</a>
</li><li class="li-toc"><a href="extn.html#sec271">8.22.2&#XA0;&#XA0;Extension literals</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#sec272">8.23&#XA0;&#XA0;Inline records</a>
</li><li class="li-toc"><a href="extn.html#sec273">8.24&#XA0;&#XA0;Local exceptions</a>
</li><li class="li-toc"><a href="extn.html#sec274">8.25&#XA0;&#XA0;Documentation comments</a>
<ul class="toc"><li class="li-toc">
<a href="extn.html#sec275">8.25.1&#XA0;&#XA0;Floating comments</a>
</li><li class="li-toc"><a href="extn.html#sec276">8.25.2&#XA0;&#XA0;Item comments</a>
</li><li class="li-toc"><a href="extn.html#sec277">8.25.3&#XA0;&#XA0;Label comments</a>
</li></ul>
</li><li class="li-toc"><a href="extn.html#s%3Aindex-operators">8.26&#XA0;&#XA0;Extended indexing operators  </a>
</li><li class="li-toc"><a href="extn.html#s%3Aempty-variants">8.27&#XA0;&#XA0;Empty variant types </a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="index.html#sec280">Part&#XA0;III&#XA0;&#XA0;The OCaml tools</a>
<ul class="toc"><li class="li-toc">
<a href="comp.html#sec281">Chapter&#XA0;9&#XA0;&#XA0;Batch compilation (ocamlc)</a>
<ul class="toc"><li class="li-toc">
<a href="comp.html#sec282">9.1&#XA0;&#XA0;Overview of the compiler</a>
</li><li class="li-toc"><a href="comp.html#sec283">9.2&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="comp.html#sec285">9.3&#XA0;&#XA0;Modules and the file system</a>
</li><li class="li-toc"><a href="comp.html#sec286">9.4&#XA0;&#XA0;Common errors</a>
</li><li class="li-toc"><a href="comp.html#sec287">9.5&#XA0;&#XA0;Warning reference</a>
<ul class="toc"><li class="li-toc">
<a href="comp.html#sec288">9.5.1&#XA0;&#XA0;Warning 9: missing fields in a record pattern</a>
</li><li class="li-toc"><a href="comp.html#sec289">9.5.2&#XA0;&#XA0;Warning 52: fragile constant pattern</a>
</li><li class="li-toc"><a href="comp.html#sec290">9.5.3&#XA0;&#XA0;Warning 57: Ambiguous or-pattern variables under guard</a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="toplevel.html#sec291">Chapter&#XA0;10&#XA0;&#XA0;The toplevel system or REPL (ocaml)</a>
<ul class="toc"><li class="li-toc">
<a href="toplevel.html#sec292">10.1&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="toplevel.html#sec293">10.2&#XA0;&#XA0;Toplevel directives</a>
</li><li class="li-toc"><a href="toplevel.html#sec294">10.3&#XA0;&#XA0;The toplevel and the module system</a>
</li><li class="li-toc"><a href="toplevel.html#sec295">10.4&#XA0;&#XA0;Common errors</a>
</li><li class="li-toc"><a href="toplevel.html#sec296">10.5&#XA0;&#XA0;Building custom toplevel systems: <span class="c003">ocamlmktop</span></a>
<ul class="toc"><li class="li-toc">
<a href="toplevel.html#sec297">10.5.1&#XA0;&#XA0;Options</a>
</li></ul>
</li><li class="li-toc"><a href="toplevel.html#sec298">10.6&#XA0;&#XA0;The native toplevel: <span class="c003">ocamlnat</span> (experimental)</a>
</li></ul>
</li><li class="li-toc"><a href="runtime.html#sec299">Chapter&#XA0;11&#XA0;&#XA0;The runtime system (ocamlrun)</a>
<ul class="toc"><li class="li-toc">
<a href="runtime.html#sec300">11.1&#XA0;&#XA0;Overview</a>
</li><li class="li-toc"><a href="runtime.html#sec301">11.2&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="runtime.html#sec302">11.3&#XA0;&#XA0;Dynamic loading of shared libraries</a>
</li><li class="li-toc"><a href="runtime.html#sec303">11.4&#XA0;&#XA0;Common errors</a>
</li></ul>
</li><li class="li-toc"><a href="native.html#sec304">Chapter&#XA0;12&#XA0;&#XA0;Native-code compilation (ocamlopt)</a>
<ul class="toc"><li class="li-toc">
<a href="native.html#sec305">12.1&#XA0;&#XA0;Overview of the compiler</a>
</li><li class="li-toc"><a href="native.html#sec306">12.2&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="native.html#sec310">12.3&#XA0;&#XA0;Common errors</a>
</li><li class="li-toc"><a href="native.html#sec311">12.4&#XA0;&#XA0;Running executables produced by ocamlopt</a>
</li><li class="li-toc"><a href="native.html#sec312">12.5&#XA0;&#XA0;Compatibility with the bytecode compiler</a>
</li></ul>
</li><li class="li-toc"><a href="lexyacc.html#sec313">Chapter&#XA0;13&#XA0;&#XA0;Lexer and parser generators (ocamllex, ocamlyacc)</a>
<ul class="toc"><li class="li-toc">
<a href="lexyacc.html#sec314">13.1&#XA0;&#XA0;Overview of <span class="c003">ocamllex</span></a>
<ul class="toc"><li class="li-toc">
<a href="lexyacc.html#sec315">13.1.1&#XA0;&#XA0;Options</a>
</li></ul>
</li><li class="li-toc"><a href="lexyacc.html#sec316">13.2&#XA0;&#XA0;Syntax of lexer definitions</a>
<ul class="toc"><li class="li-toc">
<a href="lexyacc.html#sec317">13.2.1&#XA0;&#XA0;Header and trailer</a>
</li><li class="li-toc"><a href="lexyacc.html#sec318">13.2.2&#XA0;&#XA0;Naming regular expressions</a>
</li><li class="li-toc"><a href="lexyacc.html#sec319">13.2.3&#XA0;&#XA0;Entry points</a>
</li><li class="li-toc"><a href="lexyacc.html#sec320">13.2.4&#XA0;&#XA0;Regular expressions</a>
</li><li class="li-toc"><a href="lexyacc.html#sec321">13.2.5&#XA0;&#XA0;Actions</a>
</li><li class="li-toc"><a href="lexyacc.html#sec322">13.2.6&#XA0;&#XA0;Variables in regular expressions</a>
</li><li class="li-toc"><a href="lexyacc.html#sec323">13.2.7&#XA0;&#XA0;Refill handlers</a>
</li><li class="li-toc"><a href="lexyacc.html#sec324">13.2.8&#XA0;&#XA0;Reserved identifiers</a>
</li></ul>
</li><li class="li-toc"><a href="lexyacc.html#sec325">13.3&#XA0;&#XA0;Overview of <span class="c003">ocamlyacc</span></a>
</li><li class="li-toc"><a href="lexyacc.html#sec326">13.4&#XA0;&#XA0;Syntax of grammar definitions</a>
<ul class="toc"><li class="li-toc">
<a href="lexyacc.html#sec327">13.4.1&#XA0;&#XA0;Header and trailer</a>
</li><li class="li-toc"><a href="lexyacc.html#sec328">13.4.2&#XA0;&#XA0;Declarations</a>
</li><li class="li-toc"><a href="lexyacc.html#sec329">13.4.3&#XA0;&#XA0;Rules</a>
</li><li class="li-toc"><a href="lexyacc.html#sec330">13.4.4&#XA0;&#XA0;Error handling</a>
</li></ul>
</li><li class="li-toc"><a href="lexyacc.html#sec331">13.5&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="lexyacc.html#sec332">13.6&#XA0;&#XA0;A complete example</a>
</li><li class="li-toc"><a href="lexyacc.html#sec333">13.7&#XA0;&#XA0;Common errors</a>
</li></ul>
</li><li class="li-toc"><a href="depend.html#sec334">Chapter&#XA0;14&#XA0;&#XA0;Dependency generator (ocamldep)</a>
<ul class="toc"><li class="li-toc">
<a href="depend.html#sec335">14.1&#XA0;&#XA0;Options</a>
</li><li class="li-toc"><a href="depend.html#sec336">14.2&#XA0;&#XA0;A typical Makefile</a>
</li></ul>
</li><li class="li-toc"><a href="browser.html#sec337">Chapter&#XA0;15&#XA0;&#XA0;The browser/editor (ocamlbrowser)</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec338">Chapter&#XA0;16&#XA0;&#XA0;The documentation generator (ocamldoc)</a>
<ul class="toc"><li class="li-toc">
<a href="ocamldoc.html#sec339">16.1&#XA0;&#XA0;Usage</a>
<ul class="toc"><li class="li-toc">
<a href="ocamldoc.html#sec340">16.1.1&#XA0;&#XA0;Invocation</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec349">16.1.2&#XA0;&#XA0;Merging of module information</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec350">16.1.3&#XA0;&#XA0;Coding rules</a>
</li></ul>
</li><li class="li-toc"><a href="ocamldoc.html#sec351">16.2&#XA0;&#XA0;Syntax of documentation comments</a>
<ul class="toc"><li class="li-toc">
<a href="ocamldoc.html#sec352">16.2.1&#XA0;&#XA0;Placement of documentation comments</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec355">16.2.2&#XA0;&#XA0;The Stop special comment</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec356">16.2.3&#XA0;&#XA0;Syntax of documentation comments</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec357">16.2.4&#XA0;&#XA0;Text formatting</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec363">16.2.5&#XA0;&#XA0;Documentation tags (@-tags)</a>
</li></ul>
</li><li class="li-toc"><a href="ocamldoc.html#sec366">16.3&#XA0;&#XA0;Custom generators</a>
<ul class="toc"><li class="li-toc">
<a href="ocamldoc.html#sec367">16.3.1&#XA0;&#XA0;The generator modules</a>
</li><li class="li-toc"><a href="ocamldoc.html#sec368">16.3.2&#XA0;&#XA0;Handling custom tags</a>
</li></ul>
</li><li class="li-toc"><a href="ocamldoc.html#sec371">16.4&#XA0;&#XA0;Adding command line options</a>
<ul class="toc"><li class="li-toc">
<a href="ocamldoc.html#sec372">16.4.1&#XA0;&#XA0;Compilation and usage</a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="debugger.html#sec375">Chapter&#XA0;17&#XA0;&#XA0;The debugger (ocamldebug)</a>
<ul class="toc"><li class="li-toc">
<a href="debugger.html#sec376">17.1&#XA0;&#XA0;Compiling for debugging</a>
</li><li class="li-toc"><a href="debugger.html#sec377">17.2&#XA0;&#XA0;Invocation</a>
<ul class="toc"><li class="li-toc">
<a href="debugger.html#sec378">17.2.1&#XA0;&#XA0;Starting the debugger</a>
</li><li class="li-toc"><a href="debugger.html#sec379">17.2.2&#XA0;&#XA0;Initialization file</a>
</li><li class="li-toc"><a href="debugger.html#sec380">17.2.3&#XA0;&#XA0;Exiting the debugger</a>
</li></ul>
</li><li class="li-toc"><a href="debugger.html#sec381">17.3&#XA0;&#XA0;Commands</a>
<ul class="toc"><li class="li-toc">
<a href="debugger.html#sec382">17.3.1&#XA0;&#XA0;Getting help</a>
</li><li class="li-toc"><a href="debugger.html#sec383">17.3.2&#XA0;&#XA0;Accessing the debugger state</a>
</li></ul>
</li><li class="li-toc"><a href="debugger.html#sec384">17.4&#XA0;&#XA0;Executing a program</a>
<ul class="toc"><li class="li-toc">
<a href="debugger.html#sec385">17.4.1&#XA0;&#XA0;Events</a>
</li><li class="li-toc"><a href="debugger.html#sec386">17.4.2&#XA0;&#XA0;Starting the debugged program</a>
</li><li class="li-toc"><a href="debugger.html#sec387">17.4.3&#XA0;&#XA0;Running the program</a>
</li><li class="li-toc"><a href="debugger.html#sec388">17.4.4&#XA0;&#XA0;Time travel</a>
</li><li class="li-toc"><a href="debugger.html#sec389">17.4.5&#XA0;&#XA0;Killing the program</a>
</li></ul>
</li><li class="li-toc"><a href="debugger.html#sec390">17.5&#XA0;&#XA0;Breakpoints</a>
</li><li class="li-toc"><a href="debugger.html#sec391">17.6&#XA0;&#XA0;The call stack</a>
</li><li class="li-toc"><a href="debugger.html#sec392">17.7&#XA0;&#XA0;Examining variable values</a>
</li><li class="li-toc"><a href="debugger.html#sec393">17.8&#XA0;&#XA0;Controlling the debugger</a>
<ul class="toc"><li class="li-toc">
<a href="debugger.html#sec394">17.8.1&#XA0;&#XA0;Setting the program name and arguments</a>
</li><li class="li-toc"><a href="debugger.html#sec395">17.8.2&#XA0;&#XA0;How programs are loaded</a>
</li><li class="li-toc"><a href="debugger.html#sec396">17.8.3&#XA0;&#XA0;Search path for files</a>
</li><li class="li-toc"><a href="debugger.html#sec397">17.8.4&#XA0;&#XA0;Working directory</a>
</li><li class="li-toc"><a href="debugger.html#sec398">17.8.5&#XA0;&#XA0;Turning reverse execution on and off</a>
</li><li class="li-toc"><a href="debugger.html#sec399">17.8.6&#XA0;&#XA0;Communication between the debugger and the program</a>
</li><li class="li-toc"><a href="debugger.html#sec400">17.8.7&#XA0;&#XA0;Fine-tuning the debugger</a>
</li><li class="li-toc"><a href="debugger.html#sec401">17.8.8&#XA0;&#XA0;User-defined printers</a>
</li></ul>
</li><li class="li-toc"><a href="debugger.html#sec402">17.9&#XA0;&#XA0;Miscellaneous commands</a>
</li><li class="li-toc"><a href="debugger.html#sec403">17.10&#XA0;&#XA0;Running the debugger under Emacs</a>
</li></ul>
</li><li class="li-toc"><a href="profil.html#sec404">Chapter&#XA0;18&#XA0;&#XA0;Profiling (ocamlprof)</a>
<ul class="toc"><li class="li-toc">
<a href="profil.html#sec405">18.1&#XA0;&#XA0;Compiling for profiling</a>
</li><li class="li-toc"><a href="profil.html#sec409">18.2&#XA0;&#XA0;Profiling an execution</a>
</li><li class="li-toc"><a href="profil.html#sec410">18.3&#XA0;&#XA0;Printing profiling information</a>
</li><li class="li-toc"><a href="profil.html#sec411">18.4&#XA0;&#XA0;Time profiling</a>
</li></ul>
</li><li class="li-toc"><a href="manual033.html#sec413">Chapter&#XA0;19&#XA0;&#XA0;The ocamlbuild compilation manager</a>
</li><li class="li-toc"><a href="intfc.html#c%3Aintf-c">Chapter&#XA0;20&#XA0;&#XA0;Interfacing C with OCaml</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec415">20.1&#XA0;&#XA0;Overview and compilation information</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec416">20.1.1&#XA0;&#XA0;Declaring primitives</a>
</li><li class="li-toc"><a href="intfc.html#sec417">20.1.2&#XA0;&#XA0;Implementing primitives</a>
</li><li class="li-toc"><a href="intfc.html#sec418">20.1.3&#XA0;&#XA0;Statically linking C code with OCaml code</a>
</li><li class="li-toc"><a href="intfc.html#sec419">20.1.4&#XA0;&#XA0;Dynamically linking C code with OCaml code</a>
</li><li class="li-toc"><a href="intfc.html#sec420">20.1.5&#XA0;&#XA0;Choosing between static linking and dynamic linking</a>
</li><li class="li-toc"><a href="intfc.html#sec421">20.1.6&#XA0;&#XA0;Building standalone custom runtime systems</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec422">20.2&#XA0;&#XA0;The <span class="c003">value</span> type</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec423">20.2.1&#XA0;&#XA0;Integer values</a>
</li><li class="li-toc"><a href="intfc.html#sec424">20.2.2&#XA0;&#XA0;Blocks</a>
</li><li class="li-toc"><a href="intfc.html#sec425">20.2.3&#XA0;&#XA0;Pointers outside the heap</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec426">20.3&#XA0;&#XA0;Representation of OCaml data types</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec427">20.3.1&#XA0;&#XA0;Atomic types</a>
</li><li class="li-toc"><a href="intfc.html#sec428">20.3.2&#XA0;&#XA0;Tuples and records</a>
</li><li class="li-toc"><a href="intfc.html#sec429">20.3.3&#XA0;&#XA0;Arrays</a>
</li><li class="li-toc"><a href="intfc.html#sec430">20.3.4&#XA0;&#XA0;Concrete data types</a>
</li><li class="li-toc"><a href="intfc.html#sec431">20.3.5&#XA0;&#XA0;Objects</a>
</li><li class="li-toc"><a href="intfc.html#sec432">20.3.6&#XA0;&#XA0;Polymorphic variants</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec433">20.4&#XA0;&#XA0;Operations on values</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec434">20.4.1&#XA0;&#XA0;Kind tests</a>
</li><li class="li-toc"><a href="intfc.html#sec435">20.4.2&#XA0;&#XA0;Operations on integers</a>
</li><li class="li-toc"><a href="intfc.html#sec436">20.4.3&#XA0;&#XA0;Accessing blocks</a>
</li><li class="li-toc"><a href="intfc.html#sec437">20.4.4&#XA0;&#XA0;Allocating blocks</a>
</li><li class="li-toc"><a href="intfc.html#sec440">20.4.5&#XA0;&#XA0;Raising exceptions</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec441">20.5&#XA0;&#XA0;Living in harmony with the garbage collector</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec442">20.5.1&#XA0;&#XA0;Simple interface</a>
</li><li class="li-toc"><a href="intfc.html#sec448">20.5.2&#XA0;&#XA0;Low-level interface</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec449">20.6&#XA0;&#XA0;A complete example</a>
</li><li class="li-toc"><a href="intfc.html#sec450">20.7&#XA0;&#XA0;Advanced topic: callbacks from C to OCaml</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec451">20.7.1&#XA0;&#XA0;Applying OCaml closures from C</a>
</li><li class="li-toc"><a href="intfc.html#sec453">20.7.2&#XA0;&#XA0;Obtaining or registering OCaml closures for use in C functions</a>
</li><li class="li-toc"><a href="intfc.html#sec454">20.7.3&#XA0;&#XA0;Registering OCaml exceptions for use in C functions</a>
</li><li class="li-toc"><a href="intfc.html#sec455">20.7.4&#XA0;&#XA0;Main program in C</a>
</li><li class="li-toc"><a href="intfc.html#sec456">20.7.5&#XA0;&#XA0;Embedding the OCaml code in the C code</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec460">20.8&#XA0;&#XA0;Advanced example with callbacks</a>
</li><li class="li-toc"><a href="intfc.html#sec461">20.9&#XA0;&#XA0;Advanced topic: custom blocks</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec462">20.9.1&#XA0;&#XA0;The <span class="c003">struct custom_operations</span></a>
</li><li class="li-toc"><a href="intfc.html#sec463">20.9.2&#XA0;&#XA0;Allocating custom blocks</a>
</li><li class="li-toc"><a href="intfc.html#sec464">20.9.3&#XA0;&#XA0;Accessing custom blocks</a>
</li><li class="li-toc"><a href="intfc.html#sec465">20.9.4&#XA0;&#XA0;Writing custom serialization and deserialization functions</a>
</li><li class="li-toc"><a href="intfc.html#sec466">20.9.5&#XA0;&#XA0;Choosing identifiers</a>
</li><li class="li-toc"><a href="intfc.html#sec467">20.9.6&#XA0;&#XA0;Finalized blocks</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec468">20.10&#XA0;&#XA0;Advanced topic: Big arrays and the OCaml-C interface</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec469">20.10.1&#XA0;&#XA0;Include file</a>
</li><li class="li-toc"><a href="intfc.html#sec470">20.10.2&#XA0;&#XA0;Accessing an OCaml bigarray from C or Fortran</a>
</li><li class="li-toc"><a href="intfc.html#sec471">20.10.3&#XA0;&#XA0;Wrapping a C or Fortran array as an OCaml big array</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec472">20.11&#XA0;&#XA0;Advanced topic: cheaper C call</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec473">20.11.1&#XA0;&#XA0;Passing unboxed values</a>
</li><li class="li-toc"><a href="intfc.html#sec474">20.11.2&#XA0;&#XA0;Direct C call</a>
</li><li class="li-toc"><a href="intfc.html#sec475">20.11.3&#XA0;&#XA0;Example: calling C library functions without indirection</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec476">20.12&#XA0;&#XA0;Advanced topic: multithreading</a>
<ul class="toc"><li class="li-toc">
<a href="intfc.html#sec477">20.12.1&#XA0;&#XA0;Registering threads created from C</a>
</li><li class="li-toc"><a href="intfc.html#sec478">20.12.2&#XA0;&#XA0;Parallel execution of long-running C code</a>
</li></ul>
</li><li class="li-toc"><a href="intfc.html#sec479">20.13&#XA0;&#XA0;Advanced topic: interfacing with Windows Unicode APIs</a>
</li><li class="li-toc"><a href="intfc.html#sec481">20.14&#XA0;&#XA0;Building mixed C/OCaml libraries: <span class="c003">ocamlmklib</span></a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec483">Chapter&#XA0;21&#XA0;&#XA0;Optimisation with Flambda</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec484">21.1&#XA0;&#XA0;Overview</a>
</li><li class="li-toc"><a href="flambda.html#sec485">21.2&#XA0;&#XA0;Command-line flags</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec487">21.2.1&#XA0;&#XA0;Specification of optimisation parameters by round</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec488">21.3&#XA0;&#XA0;Inlining</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec490">21.3.1&#XA0;&#XA0;Classic inlining heuristic</a>
</li><li class="li-toc"><a href="flambda.html#sec491">21.3.2&#XA0;&#XA0;Overview of &#X201C;Flambda&#X201D; inlining heuristics</a>
</li><li class="li-toc"><a href="flambda.html#sec492">21.3.3&#XA0;&#XA0;Handling of specific language constructs</a>
</li><li class="li-toc"><a href="flambda.html#sec496">21.3.4&#XA0;&#XA0;Inlining reports</a>
</li><li class="li-toc"><a href="flambda.html#sec497">21.3.5&#XA0;&#XA0;Assessment of inlining benefit</a>
</li><li class="li-toc"><a href="flambda.html#sec498">21.3.6&#XA0;&#XA0;Control of speculation</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec499">21.4&#XA0;&#XA0;Specialisation</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec502">21.4.1&#XA0;&#XA0;Assessment of specialisation benefit</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec503">21.5&#XA0;&#XA0;Default settings of parameters</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec504">21.5.1&#XA0;&#XA0;Settings at -O2 optimisation level</a>
</li><li class="li-toc"><a href="flambda.html#sec505">21.5.2&#XA0;&#XA0;Settings at -O3 optimisation level</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec506">21.6&#XA0;&#XA0;Manual control of inlining and specialisation</a>
</li><li class="li-toc"><a href="flambda.html#sec508">21.7&#XA0;&#XA0;Simplification</a>
</li><li class="li-toc"><a href="flambda.html#sec509">21.8&#XA0;&#XA0;Other code motion transformations</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec510">21.8.1&#XA0;&#XA0;Lifting of constants</a>
</li><li class="li-toc"><a href="flambda.html#sec512">21.8.2&#XA0;&#XA0;Lifting of toplevel let bindings</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec513">21.9&#XA0;&#XA0;Unboxing transformations</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec514">21.9.1&#XA0;&#XA0;Unboxing of closure variables</a>
</li><li class="li-toc"><a href="flambda.html#sec516">21.9.2&#XA0;&#XA0;Unboxing of specialised arguments</a>
</li><li class="li-toc"><a href="flambda.html#sec518">21.9.3&#XA0;&#XA0;Unboxing of closures</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec521">21.10&#XA0;&#XA0;Removal of unused code and values</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec522">21.10.1&#XA0;&#XA0;Removal of redundant let expressions</a>
</li><li class="li-toc"><a href="flambda.html#sec523">21.10.2&#XA0;&#XA0;Removal of redundant program constructs</a>
</li><li class="li-toc"><a href="flambda.html#sec524">21.10.3&#XA0;&#XA0;Removal of unused arguments</a>
</li><li class="li-toc"><a href="flambda.html#sec525">21.10.4&#XA0;&#XA0;Removal of unused closure variables</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec526">21.11&#XA0;&#XA0;Other code transformations</a>
<ul class="toc"><li class="li-toc">
<a href="flambda.html#sec527">21.11.1&#XA0;&#XA0;Transformation of non-escaping references into mutable variables</a>
</li><li class="li-toc"><a href="flambda.html#sec528">21.11.2&#XA0;&#XA0;Substitution of closure variables for specialised arguments</a>
</li></ul>
</li><li class="li-toc"><a href="flambda.html#sec529">21.12&#XA0;&#XA0;Treatment of effects</a>
</li><li class="li-toc"><a href="flambda.html#sec530">21.13&#XA0;&#XA0;Compilation of statically-allocated modules</a>
</li><li class="li-toc"><a href="flambda.html#sec531">21.14&#XA0;&#XA0;Inhibition of optimisation</a>
</li><li class="li-toc"><a href="flambda.html#sec532">21.15&#XA0;&#XA0;Use of unsafe operations</a>
</li><li class="li-toc"><a href="flambda.html#sec533">21.16&#XA0;&#XA0;Glossary</a>
</li></ul>
</li><li class="li-toc"><a href="spacetime.html#sec534">Chapter&#XA0;22&#XA0;&#XA0;Memory profiling with Spacetime</a>
<ul class="toc"><li class="li-toc">
<a href="spacetime.html#sec535">22.1&#XA0;&#XA0;Overview</a>
</li><li class="li-toc"><a href="spacetime.html#sec536">22.2&#XA0;&#XA0;How to use it</a>
<ul class="toc"><li class="li-toc">
<a href="spacetime.html#sec537">22.2.1&#XA0;&#XA0;Building</a>
</li><li class="li-toc"><a href="spacetime.html#sec538">22.2.2&#XA0;&#XA0;Running</a>
</li><li class="li-toc"><a href="spacetime.html#sec539">22.2.3&#XA0;&#XA0;Analysis</a>
</li></ul>
</li><li class="li-toc"><a href="spacetime.html#sec540">22.3&#XA0;&#XA0;Runtime overhead</a>
</li><li class="li-toc"><a href="spacetime.html#sec541">22.4&#XA0;&#XA0;For developers</a>
</li></ul>
</li><li class="li-toc"><a href="afl-fuzz.html#sec542">Chapter&#XA0;23&#XA0;&#XA0;Fuzzing with afl-fuzz</a>
<ul class="toc"><li class="li-toc">
<a href="afl-fuzz.html#sec543">23.1&#XA0;&#XA0;Overview</a>
</li><li class="li-toc"><a href="afl-fuzz.html#sec544">23.2&#XA0;&#XA0;Generating instrumentation</a>
<ul class="toc"><li class="li-toc">
<a href="afl-fuzz.html#sec545">23.2.1&#XA0;&#XA0;Advanced options</a>
</li></ul>
</li><li class="li-toc"><a href="afl-fuzz.html#sec546">23.3&#XA0;&#XA0;Example</a>
</li></ul>
</li><li class="li-toc"><a href="plugins.html#c%3Aplugins">Chapter&#XA0;24&#XA0;&#XA0;Compiler plugins</a>
<ul class="toc"><li class="li-toc">
<a href="plugins.html#sec548">24.1&#XA0;&#XA0;Overview</a>
</li><li class="li-toc"><a href="plugins.html#sec549">24.2&#XA0;&#XA0;Basic example</a>
</li></ul>
</li></ul>
</li><li class="li-toc"><a href="index.html#sec550">Part&#XA0;IV&#XA0;&#XA0;The OCaml library</a>
<ul class="toc"><li class="li-toc">
<a href="core.html#sec551">Chapter&#XA0;25&#XA0;&#XA0;The core library</a>
<ul class="toc"><li class="li-toc">
<a href="core.html#sec553">25.1&#XA0;&#XA0;Built-in types and predefined exceptions</a>
</li><li class="li-toc"><a href="core.html#sec556">25.2&#XA0;&#XA0;Module <span class="c003">Pervasives</span>: the initially opened module</a>
</li></ul>
</li><li class="li-toc"><a href="stdlib.html#sec557">Chapter&#XA0;26&#XA0;&#XA0;The standard library</a>
</li><li class="li-toc"><a href="parsing.html#sec559">Chapter&#XA0;27&#XA0;&#XA0;The compiler front-end</a>
</li><li class="li-toc"><a href="libunix.html#sec560">Chapter&#XA0;28&#XA0;&#XA0;The unix library: Unix system calls</a>
</li><li class="li-toc"><a href="libnum.html#sec561">Chapter&#XA0;29&#XA0;&#XA0;The num library: arbitrary-precision rational arithmetic</a>
</li><li class="li-toc"><a href="libstr.html#sec562">Chapter&#XA0;30&#XA0;&#XA0;The str library: regular expressions and string processing</a>
</li><li class="li-toc"><a href="libthreads.html#sec563">Chapter&#XA0;31&#XA0;&#XA0;The threads library</a>
</li><li class="li-toc"><a href="libgraph.html#sec564">Chapter&#XA0;32&#XA0;&#XA0;The graphics library</a>
</li><li class="li-toc"><a href="libdynlink.html#sec565">Chapter&#XA0;33&#XA0;&#XA0;The dynlink library: dynamic loading and linking of object files</a>
</li><li class="li-toc"><a href="libbigarray.html#sec566">Chapter&#XA0;34&#XA0;&#XA0;The bigarray library</a>
</li></ul>
</li><li class="li-toc"><a href="index.html#sec567">Part&#XA0;V&#XA0;&#XA0;Appendix</a>
</li></ul><hr>
<a href="index.html"><img src="contents_motif.svg" alt="Up"></a>
<a href="foreword.html"><img src="next_motif.svg" alt="Next"></a>
</body>
</html>