My aggregated monorepo of OCaml code, automaintained
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add tag system, atom.xml test rule, and markdown generation

- Add @page-tags metadata to 39 blog posts across 10 tags (ai, docs-ci,
meta, notebooks, ocaml, odoc, plugins, teaching, tessera, weeknotes)
- Generate tag pages with post lists via gen_blog_index.exe
- @page-tags plugin now uses resolved odoc references for chip links
instead of hardcoded URLs
- gen_atom.ml: deterministic timestamps, CLI args, UTF-8-safe truncation
- gen_rules.ml: add markdown generation phase (@markdown alias), atom.xml
and tag page diff rules under @runtest
- Include weeknotes-2026-15 in blog indexes
- Skip dotfiles in blog scanner (fixes Emacs lockfile crash)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+9107 -87
+72 -2
atom.xml
··· 2 2 <feed xmlns="http://www.w3.org/2005/Atom"> 3 3 <id>https://jon.recoil.org/atom.xml</id> 4 4 <title>Jon's blog</title> 5 - <updated>2026-04-06T22:38:54Z</updated> 5 + <updated>2026-04-14T00:00:00Z</updated> 6 6 <author> 7 7 <name>Jon Ludlam</name> 8 8 <uri>https://jon.recoil.org/</uri> ··· 10 10 <link rel="self" href="https://jon.recoil.org/atom.xml"/> 11 11 <link rel="alternate" href="https://jon.recoil.org/blog/"/> 12 12 <entry> 13 + <id>https://jon.recoil.org/blog/2026/04/weeknotes-2026-15.html</id> 14 + <title>Weeknotes 2026 week 15</title> 15 + <published>2026-04-14T00:00:00Z</published> 16 + <updated>2026-04-14T00:00:00Z</updated> 17 + <link rel="alternate" href="https://jon.recoil.org/blog/2026/04/weeknotes-2026-15.html"/> 18 + <summary>Once again, the docs CI went down. This time, something had scribbled over the docker partition and so we needed to do a full build from scratch. Fortunately the docs themselves were not in a docker v...</summary> 19 + <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-15"><a href="#weeknotes-2026-week-15" class="anchor"></a>Weeknotes 2026 week 15</h1> 20 + <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-04-14</p></li></ul> 21 + <p>Once again, the docs CI went down. This time, something had scribbled over the docker partition and so we needed to do a full build from scratch. Fortunately the docs themselves were not in a docker volume and so we didn't have to rebuild everything to get the HTTP server up and running for ocaml.org. However, we did have to set a full build going so that we can build docs for new packages.</p> 22 + <p>This keeps happening, and is very annoying! So, that brings me onto the next topic: day11.</p> 23 + <h2 id="day11"><a href="#day11" class="anchor"></a>Day11</h2> 24 + <p>I've posted multiple times about <a href="https://tunbury.org/">Mark Elvers'</a> <a href="https://github.com/mtelvers/day10">day10</a> project. For me, it was an obvious extension of this to get it to build docs, and, as with most of my work recently, I set Claude on the task. However, Claude failed to integrate it nicely into the codebase. Taking a closer look at day10, it's a specialised tool that does its thing really well, but isn't built in a way that makes it easy to adapt in the ways that the docs needed. Clearly separating the AI generated code from the hand-written code is very important, so rather than going that route, I decided that I'd try to build a more general day10 with Claude - day11!</p> 25 + <p>It's already at the point where it's been able to build the docs for all packages in opam-repository relatively quickly. Running it on <code>dill</code>, which is roughly equivalent to <code>sage</code>, where the docs are currently built, it takes about 6 hours or so to build everything, where <code>sage</code> with ocaml-docs-ci takes several days.</p> 26 + <p>Some intriguing directions we might take this in:</p> 27 + <ul><li>It's a generic build plaform for opam packages, therefore could possibly be used for easily executing binaries from opam packages.</li><li>It can build _itself_ - including new/different dependencies. Interesting for a self-modifying tool!</li><li>It's easy to drop into a container with precisely the correct dependencies for any package, so useful for debugging build failures. This is partially implemented already.</li><li>We can already provide overlay opam-repositories for testing of new/altered packages</li></ul> 28 + <p>One really nice test of whether the organisation of the libraries in day11 is correct is whether we can plumb it into the docs-ci ocurrent pipeline easily, and have the CLI tools for it coexist nicely.</p> 29 + <h2 id="odoc-performance"><a href="#odoc-performance" class="anchor"></a>Odoc performance</h2> 30 + <p>Running odoc on with some of the oxcaml libraries exposes some critical weaknesses of the current code - in particular <a href="../03/weeknotes-2026-13.html#oxmono-docs-build" title="oxmono-docs-build">performance problems</a> with particular styles of code. We can't build the docs for Anil's <a href="https://github.com/avsm/oxmono">oxmono</a> repo with GHA as it simply runs out of memory. I've therefore been investigating some of the more egregious memory problems. I've got quite a few patches already with some good results, but nothing yet that's going to make it into upstream odoc without some more testing.</p> 31 + <h2 id="other-bits-and-bobs"><a href="#other-bits-and-bobs" class="anchor"></a>Other bits and bobs</h2> 32 + <p>I had fun hour or so putting together an odoc plugin to replicate the experience of davesnx's <a href="https://davesnx.github.io/parseff">parseff site</a>. The plugin is <a href="https://tangled.org/jon.recoil.org/odoc-parseff-shell/">here</a>, and to use it, see my modified parseff repo:</p> 33 + <div><pre class="language-shell"><code>git clone https://github.com/jonludlam/parseff.git#odoc-plugins 34 + opam switch create . --with-doc 35 + dune build @doc</code></pre></div> 36 + 37 + <figure> 38 + <a href="https://jon.ludl.am/experiments/parseff"><img src="parseff.png" alt="A screenshot of the parseff site"></a> 39 + <figcaption><em>A screenshot of the parseff site produced by the plugin</em></figcaption> 40 + </figure> 41 + 42 + <p>There are a number of advantages and disadvantages to this. As @davesnx <a href="https://sancho.dev/blog/ocaml-documentation-as-markdown">wrote</a>, his concern with the markdown output was to be able to integrate the odoc output seamlessly with an existing site, and it does this very well. However, it's at a cost - we lose links in the API docs, links to source, the source rendering itself, and so on. Whereas the plugin I made keeps all of those nice features, but is still tricky to integrate with a larger site.</p>]]></content> 43 + </entry> 44 + <entry> 13 45 <id>https://jon.recoil.org/blog/2026/04/odoc_and_ocaml_notebooks.html</id> 14 46 <title>Odoc and OCaml Notebooks</title> 15 47 <published>2026-04-06T00:00:00Z</published> 16 48 <updated>2026-04-06T00:00:00Z</updated> 17 49 <link rel="alternate" href="https://jon.recoil.org/blog/2026/04/odoc_and_ocaml_notebooks.html"/> 18 - <summary>As the chief maintainer of OCaml's odoc, I'm required to think hard about its future. What impact will advances in , , and the dramatic increase in web platform capabilities through and WebGPU have �...</summary> 50 + <summary>As the chief maintainer of OCaml's odoc, I'm required to think hard about its future. What impact will advances in , , and the dramatic increase in web platform capabilities through and WebGPU have...</summary> 19 51 <content type="html"><![CDATA[<h1 id="odoc-and-ocaml-notebooks"><a href="#odoc-and-ocaml-notebooks" class="anchor"></a>Odoc and OCaml Notebooks</h1> 20 52 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-04-06</p></li></ul> 53 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/notebooks.html" title="notebooks">notebooks</a> <a href="../../../tags/tessera.html" title="tessera">tessera</a></p></li></ul> 21 54 <p>As the chief maintainer of OCaml's odoc, I'm required to think hard about its future. What impact will advances in <a href="https://anil.recoil.org/notes/aoah-2025">agentic programming</a>, <a href="https://dl.acm.org/doi/10.1145/3759536.3763802">collaborative literate coding</a>, and the dramatic increase in web platform capabilities through <a href="https://ocaml.org/tools/wasm-target">wasm</a> and WebGPU have — both on how odoc works and on how we develop it?</p> 22 55 <p>I find the best way to explore these topics is to <i>build</i> something, so I've gone all-in on Claude and used it to rewrite my website with all new odoc-built dune-friendly client-side Jupyter-style notebooks as an integral part of it! Those of you that have read this blog for a while will know I've been <a href="../../2025/07/retrospective.html" title="retrospective">tinkering with notebooks</a> for a year or so now, and I've had an <i>extremely</i> long-running fascination with <a href="../../2025/12/an-svg-is-all-you-need.html" title="an-svg-is-all-you-need">scientific visualisation in the browser</a>, but I really wanted to push this hard and see how adding Claude into the mix would work out.</p> 23 56 ··· 183 216 <summary>Weeknotes 2026 week 13</summary> 184 217 <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-13"><a href="#weeknotes-2026-week-13" class="anchor"></a>Weeknotes 2026 week 13</h1> 185 218 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-03-31</p></li></ul> 219 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/tessera.html" title="tessera">tessera</a></p></li></ul> 186 220 <h2 id="what-did-i-do?"><a href="#what-did-i-do?" class="anchor"></a>What did I do?</h2> 187 221 <p>I spent rather a long time this week working an a review of the past few months of work, writing, rewriting, checking what I've written, rearranging, scratching my head and pondering. Too long. I did do some other stuff too though:</p> 188 222 <h3 id="standalone-tessera-page"><a href="#standalone-tessera-page" class="anchor"></a>Standalone TESSERA page</h3> ··· 213 247 <summary>Weeknotes 2026 week 12</summary> 214 248 <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-12"><a href="#weeknotes-2026-week-12" class="anchor"></a>Weeknotes 2026 week 12</h1> 215 249 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-03-23</p></li></ul> 250 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/tessera.html" title="tessera">tessera</a></p></li></ul> 216 251 <h2 id="what-did-i-do?"><a href="#what-did-i-do?" class="anchor"></a>What did I do?</h2> 217 252 <p>End of term this week, so my tutorial interviews kept me quite busy for some of the week. Then Paul-Elliot has returned from his sojourn working on Slipshow, so I had a useful few hours working with him to try and begin the process of handing over the dune odoc PR.</p> 218 253 <p>I mentioned <a href="weeknotes-2026-11.html" title="weeknotes-2026-11">last week</a> that the TESSERA reprojection was causing issues with the overlay alignment. Now the original loading of the patches was taking ages, so I switched to zarr to be more efficient. Also, the PCA was slow, so I switched that over to tensorflow.js to use the GPU.</p> ··· 308 343 <summary>Weeknotes 2026 week 11</summary> 309 344 <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-11"><a href="#weeknotes-2026-week-11" class="anchor"></a>Weeknotes 2026 week 11</h1> 310 345 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-03-18</p></li></ul> 346 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/tessera.html" title="tessera">tessera</a></p></li></ul> 311 347 <ul class="at-tags"><li class="notanotebook"><span class="at-tag">notanotebook</span> </li></ul> 312 348 <h2 id="what-did-i-do?"><a href="#what-did-i-do?" class="anchor"></a>What did I do?</h2> 313 349 <h3 id="tessera"><a href="#tessera" class="anchor"></a>TESSERA</h3> ··· 330 366 <summary>Here are my weeknotes for the last week, while I'm still writing up some more focused posts on some specific topics - like the experience of putting everything in a monorepo to create this site, and m...</summary> 331 367 <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-10"><a href="#weeknotes-2026-week-10" class="anchor"></a>Weeknotes 2026 week 10</h1> 332 368 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-03-09</p></li></ul> 369 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/tessera.html" title="tessera">tessera</a> <a href="../../../tags/notebooks.html" title="notebooks">notebooks</a></p></li></ul> 333 370 <p>Here are my weeknotes for the last week, while I'm still writing up some more focused posts on some specific topics - like the experience of putting everything in a monorepo to create this site, and more notes on Claude and Agentic coding in general, and its impact on the world of software. But for now, here's what I've been up to.</p> 334 371 <h2 id="what-did-i-do?"><a href="#what-did-i-do?" class="anchor"></a>What did I do?</h2> 335 372 <ul><li><p>New site design. The old site was a bit of a mess and was simply reusing odoc's default default styling. I've also rearranged the content a bit to make it more navigable and cohesive.</p><div><a href="old.png" class="img-link"><img src="old.png" alt="old.png"/></a></div><div><a href="new.png" class="img-link"><img src="new.png" alt="new.png"/></a></div></li><li><p>TESSERA in the browser is a <a href="https://tee.cl.cam.ac.uk/">hot</a> <a href="https://anil.recoil.org/notes/2026w10">topic</a> right now, so I've applied the work I've been doing with x-ocaml, js_top_worker and odoc plugins to make a <a href="/notebooks/interactive_map.html">TESSERA notebook</a> that's based on the <a href="https://github.com/ucam-eo/tessera-interactive-map">example notebook</a>.</p><div><a href="tessera.png" class="img-link"><img src="tessera.png" alt="tessera.png"/></a></div></li><li>I was interested in whether we'll be able to do inference in reasonable time using these notebooks. <a href="https://onnx.ai/">ONNX</a> has a web version of its runtime, so I got Claude to make some bindings, and checked it was working by doing a sentiment analysis notebook. This is working nicely, so the next step is to do something a bit more useful. Try it <a href="/reference/onnxrt/sentiment_example.html">here</a>.</li><li>The docs CI was again causing problems. This time it had decided that it had never built anything, and therefore needed to rebuilt the entire world. However, despite being set up as a custom dedicated runner, all its jobs were queued waiting to start. It turned out that the runner paused itself when the docker partition reached 70%. This was a little surprising on two counts - firstly we don't actually use docker for running the jobs, we use obuilder, which doesn't share space with docker. Secondly, with that in mind, how did it get to 70%? It turned out to be the job logs - including 250 gigs of older logs from a previous instance. Simply blowing those away caused everything to restart and so it's now live again.</li><li>I met up with <a href="https://ancazugo.github.io/">Andrés C. Zúñiga-González</a> to have a chat about how he's using interactive maps and notebooks. He pointed me at his <a href="https://ancazugo.github.io/blog.html">blog</a>, some of which which is using <a href="https://quarto.org/">quarto</a>, which he rates very highly. An <a href="https://ancazugo.github.io/posts/2025-11-16-tessera_example.html">example of quarto output</a>.</li><li>Our group seminar this week was <a href="https://tombearpark.com/">Tom Bearpark</a> who talked about his proposed 'Carbon at Risk' measure in order to compare diverse ways of removing carbon from the atomsphere to help with the carbon removal market.</li></ul> ··· 345 382 <summary>Let's make this really terse!</summary> 346 383 <content type="html"><![CDATA[<h1 id="weeknotes-2026-week-9"><a href="#weeknotes-2026-week-9" class="anchor"></a>Weeknotes 2026 week 9</h1> 347 384 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-03-02</p></li></ul> 385 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/plugins.html" title="plugins">plugins</a></p></li></ul> 348 386 <ul class="at-tags"><li class="notanotebook"><span class="at-tag">notanotebook</span> </li></ul> 349 387 <p>Let's make this really terse!</p> 350 388 <h2 id="what-did-i-do?"><a href="#what-did-i-do?" class="anchor"></a>What did I do?</h2> ··· 362 400 <content type="html"><![CDATA[<h1 id="weeknotes-weeks-7-8"><a href="#weeknotes-weeks-7-8" class="anchor"></a>Weeknotes weeks 7-8</h1> 363 401 <ul class="at-tags"><li class="notanotebook"><span class="at-tag">notanotebook</span> </li></ul> 364 402 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-02-24</p></li></ul> 403 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/ai.html" title="ai">ai</a> <a href="../../../tags/teaching.html" title="teaching">teaching</a></p></li></ul> 365 404 <p>A combination one again as I took some time off due to school half term.</p> 366 405 <h2 id="finished-off-my-exam-questions"><a href="#finished-off-my-exam-questions" class="anchor"></a>Finished off my exam questions</h2> 367 406 <p>This was a lot of fun! Obviously I can't talk about it, but while it was stressful and worrying and anxiety inducing and scary, it was also engaging and interesting and thought-provoking. Having some ideas come together to make a nice coherent whole was very cool.</p> ··· 384 423 <summary>Highlights:</summary> 385 424 <content type="html"><![CDATA[<h1 id="weeknotes-for-week-6"><a href="#weeknotes-for-week-6" class="anchor"></a>Weeknotes for week 6</h1> 386 425 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-02-09</p></li></ul> 426 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/notebooks.html" title="notebooks">notebooks</a></p></li></ul> 387 427 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>odoc.xref2,odoc.loader,odoc.model</p></li></ul> 388 428 <ul class="at-tags"><li class="packages"><span class="at-tag">packages</span> <p>odoc</p></li></ul> 389 429 <p>Highlights:</p> ··· 425 465 <summary>I've been battling the seasonal illnesses this week, so I've combined two weeknotes into one. Fortunately the 'flu doesn't hold Claude back!</summary> 426 466 <content type="html"><![CDATA[<h1 id="weeknotes-for-weeks-4-5"><a href="#weeknotes-for-weeks-4-5" class="anchor"></a>Weeknotes for weeks 4-5</h1> 427 467 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-01-30</p></li></ul> 468 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 428 469 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>odoc.extension_api</p></li></ul> 429 470 <ul class="at-tags"><li class="packages"><span class="at-tag">packages</span> <p>odoc-admonition-extension odoc-rfc-extension odoc-msc-extension odoc-mermaid-extension odoc-dot-extension</p></li></ul> 430 471 <p>I've been battling the seasonal illnesses this week, so I've combined two weeknotes into one. Fortunately the 'flu doesn't hold Claude back!</p> ··· 483 524 <summary>First week back of 2026! Let's write some terse weeknotes.</summary> 484 525 <content type="html"><![CDATA[<h1 id="weeknotes-for-week-3"><a href="#weeknotes-for-week-3" class="anchor"></a>Weeknotes for week 3</h1> 485 526 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2026-01-19</p></li></ul> 527 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 486 528 <p>First week back of 2026! Let's write some terse weeknotes.</p> 487 529 <h2 id="projects"><a href="#projects" class="anchor"></a>Projects</h2> 488 530 <h3 id="dune-odoc-rules"><a href="#dune-odoc-rules" class="anchor"></a>Dune odoc rules</h3> ··· 515 557 <summary>Back in March of this year we released , a major new version of the OCaml documentation generator. It had a whole load of , many of which came with new demands on the build system driving it. We decid...</summary> 516 558 <content type="html"><![CDATA[<h1 id="claude-and-dune"><a href="#claude-and-dune" class="anchor"></a>Claude and Dune</h1> 517 559 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-12-18</p></li></ul> 560 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 518 561 <p>Back in March of this year we released <a href="https://ocaml.github.io/odoc/odoc/index.html">odoc 3.0.0</a>, a major new version of the OCaml documentation generator. It had a whole load of <a href="https://discuss.ocaml.org/t/ann-odoc-3-beta-release/16043">new features</a>, many of which came with new demands on the build system driving it. We decided when working on it to build a new driver for odoc so that we could adjust it as we were building the new features, and this driver is now used to <a href="../07/odoc-3-live-on-ocaml-org.html" title="odoc-3-live-on-ocaml-org">build the documentation</a> that appears on <a href="https://ocaml.org/p/base/latest/doc/index.html">ocaml.org</a>. However, it was always the plan to integrate the new features into <a href="https://dune.build">Dune</a> so that everyone could just run <code>dune build @doc</code> and be able to use all of the new odoc 3 features.</p> 519 562 <p>So over the last few weeks I have been wrestling with getting Claude to update the odoc rules in Dune to support <i>some</i> of the new features of odoc v3. What began as a background experiment during a lecture series has turned into a multi-week effort to turn mostly-working code into a clean, reviewable patch. AI-developed software is clearly going to be a big part of our future, and Anil is showing us all the way with his <a href="https://anil.recoil.org/notes/aoah-2025-1">Advent of Agentic Humps</a> by building <i>new</i> software, but upstreaming AI-generated changes to an existing, well established code base <a href="https://github.com/ocaml/ocaml/pull/14369">hasn't got off to a good start</a> in the OCaml community, so I wanted to be extra careful to get this right.</p> 520 563 <h3 id="claude-as-a-protyping-tool"><a href="#claude-as-a-protyping-tool" class="anchor"></a>Claude as a protyping tool</h3> ··· 588 631 <summary>SVGs are pretty cool - vector graphics in a simple XML format. They are supported on just about every device and platform, are crisp on every display, and can have embedded scripts in to make them int...</summary> 589 632 <content type="html"><![CDATA[<h1 id="an-svg-is-all-you-need"><a href="#an-svg-is-all-you-need" class="anchor"></a>An SVG is all you need</h1> 590 633 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-12-09</p></li></ul> 634 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/notebooks.html" title="notebooks">notebooks</a> <a href="../../../tags/plugins.html" title="plugins">plugins</a></p></li></ul> 591 635 <p>SVGs are pretty cool - vector graphics in a simple XML format. They are supported on just about every device and platform, are crisp on every display, and can have embedded scripts in to make them interactive. They're <a href="https://www.youtube.com/watch?v=4laPOtTRteI">way more capable</a> than many people realise, and I think we can capitalise on some of that unrealised potential.</p> 592 636 <p>Anil's recent post <a href="https://anil.recoil.org/notes/principles-for-collective-knowledge">Four Ps for Building Massive Collective Knowledge Systems</a> got me thinking about the permanence of the experimentation that underlies our scientific papers. In my idealistic vision of how scientific publishing should work, each paper would be accompanied by a fully interactive environment where the reader could explore the data, rerun the experiments, tweak the parameters, and see how the results changed. Obviously we can't do this in the general case - some experiments are just too expensive or time-consuming to rerun on demand. But for many papers, especially in computer science, this is entirely feasible.</p> 593 637 <p>That line of thought reminded me of a project I tackled about 20 years ago as a post-doc in the Department of Plant Sciences here in Cambridge. I was writing a paper on <a href="https://royalsocietypublishing.org/rsif/article/9/70/949/173/Applications-of-percolation-theory-to-fungal">synergy in fungal networks</a> and built a tiny SVG visualisation tool that let readers wander through the raw data captured from a real fungal network growing in a petri dish. I dug it up recently and was surprised (and delighted) to see that it still works perfectly in modern browsers - even though the original “cover page” suggested Firefox 1.5 or the Adobe SVG plug-in (!). Give it a spin; click the 'forward', 'back' and other buttons below the petri dish!</p> ··· 610 654 <summary>I recently completed lecturing the course to our newly arrived first-year computer scientists here at . This is the first time I've lectured this course, taking over from while he's on sabbatical. A...</summary> 611 655 <content type="html"><![CDATA[<h1 id="foundations-of-computer-science"><a href="#foundations-of-computer-science" class="anchor"></a>Foundations of Computer Science</h1> 612 656 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-11-14</p></li></ul> 657 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/teaching.html" title="teaching">teaching</a> <a href="../../../tags/ocaml.html" title="ocaml">ocaml</a></p></li></ul> 613 658 <p>I recently completed lecturing the course <a href="https://www.cl.cam.ac.uk/teaching/2526/FoundsCS/">&quot;Foundations of Computer Science&quot;</a> to our newly arrived first-year computer scientists here at <a href="https://www.cam.ac.uk">Cambridge</a>. This is the first time I've lectured this course, taking over from <a href="https://anil.recoil.org/">Anil</a> while he's on sabbatical. Although I was very nervous indeed about it, I ended up really enjoying the experience - and I hope the students did too! This post is a little brain dump of my thoughts on how it went and how we might improve it for next year.</p> 614 659 <h2 id="course-overview"><a href="#course-overview" class="anchor"></a>Course Overview</h2> 615 660 <p>The course is 12 lectures long and has been lectured in a similar way since I myself was an undergraduate here, way back in 1996. There have been a few changes, not least of which is that back then it was in Standard ML rather than OCaml, but the core material has remained largely the same: lists, recursive functions, trees, higher-order functions, search and finally mutability. There are no prerequisites for the course, although all students have at least a maths A-level (or equivalent), and almost all of them have done some programming before, though the experience varies widely. Very few have done any functional programming, and even fewer have written any OCaml before.</p> ··· 636 681 <summary>Some results from the . This time I've run day10 on 144 or so commits from opam-repository to see how well the cache performs. The results are quite interesting.</summary> 637 682 <content type="html"><![CDATA[<h1 id="caching-opam-solutions---part-2"><a href="#caching-opam-solutions---part-2" class="anchor"></a>Caching opam solutions - part 2</h1> 638 683 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-09-23</p></li></ul> 684 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 639 685 <p>Some results from the <a href="caching-opam-solutions.html" title="caching-opam-solutions">previous post</a>. This time I've run day10 on 144 or so commits from opam-repository to see how well the cache performs. The results are quite interesting.</p> 640 686 <p>First let's talk about the &quot;examination map&quot;. This is a map from package name to a list of other packages whose solutions should be recalculated if the package in question is altered. It's built by first looking at the packages that the solver asks about during the solution for a package, and then taking <em>all</em> of the solutions, and 'inverting' the map, so for example, if both packages 'a' and 'b' ask about package 'c' during their solutions, then altering 'c' means that the solutions for both 'a' and 'b' need to be recalculated. The examination map entry for 'c' would then be <code>'a'; 'b'</code>. We can plot the histogram of the sizes of each entry in the examination map:</p> 641 687 <div><a href="examination_map_histogram.svg" class="img-link"><img src="examination_map_histogram.svg" alt="Package Examiner Distribution Histogram"/></a></div> ··· 654 700 <summary>This post is a brief write-up of a couple of bugs in odoc that I've been working on over the past 2 weeks. I was convinced at the start of this that I was actually fixing one bug, but although they bo...</summary> 655 701 <content type="html"><![CDATA[<h1 id="odoc-bugs"><a href="#odoc-bugs" class="anchor"></a>Odoc bugs</h1> 656 702 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-09-22</p></li></ul> 703 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 657 704 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>odoc.model</p></li></ul> 658 705 <p>This post is a brief write-up of a couple of bugs in odoc that I've been working on over the past 2 weeks. I was convinced at the start of this that I was actually fixing one bug, but although they both had the same backtrace and similar immediate causes, they're actually quite different. They both involve <em>expansion</em>, which is the process that odoc uses to work out the contents of a module from its expression - what allows you to see the contents of a module such as <code>module M = Map.Make(String)</code>.</p> 659 706 <h3 id="bug-930:-inline-destructive-substitutions"><a href="#bug-930:-inline-destructive-substitutions" class="anchor"></a>Bug 930: inline destructive substitutions</h3> ··· 804 851 <summary>The system works by watching opam-repository for changes, and then when it notices a new package it performs an opam solve and builds the package, a prerequisite for building the documentation. In or...</summary> 805 852 <content type="html"><![CDATA[<h1 id="caching-opam-solutions"><a href="#caching-opam-solutions" class="anchor"></a>Caching opam solutions</h1> 806 853 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-09-09</p></li></ul> 854 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 807 855 <p>The <a href="https://github.com/ocurrent/ocaml-docs-ci">ocaml-docs-ci</a> system works by watching opam-repository for changes, and then when it notices a new package it performs an opam solve and builds the package, a prerequisite for building the documentation. In order to give the docs some stability, as the docs may well <a href="../04/semantic-versioning-is-hard.html" title="semantic-versioning-is-hard">depend upon your dependencies</a>, we currently cache the solve results so that a package will always be built with the same set of dependencies, even if a new version of one of those dependencies has been released.</p> 808 856 <p>The downside to this is that as time goes on, the number of distinct universes that we build increases, and docs get more and more out of date. So it's not necessarily the best thing to do, though it does mean we minimise the amount of time spent solving.</p> 809 857 <p>The alternative approach is that on every commit to opam-repository we could resolve for all packages and use the latest, greatest solution to build the docs. Using this approach we would maximise the sharing of builds and keep the total amount of required storage steadier. Of course, this would mean solving for every package on every commit to opam-repository, even if we didn't end up rebuilding all of them due to the way that the cache works.</p> ··· 946 994 <summary>, and I have been working on a system to build opam packages similar to the way that the docs-ci system does - effectively building a per-package binary cache to do very fast builds of the entire opa...</summary> 947 995 <content type="html"><![CDATA[<h1 id="build-ids-for-day10"><a href="#build-ids-for-day10" class="anchor"></a>Build IDs for Day10</h1> 948 996 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-09-08</p></li></ul> 997 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 949 998 <p><a href="https://tunbury.org">mtelvers</a>, <a href="https://www.dra27.uk/blog/">dra27</a> and I have been working on a system to build opam packages similar to the way that the docs-ci system does - effectively building a per-package binary cache to do very fast builds of the entire opam repository. It supports building even mutually-incompatible packages by dynamically creating the build environment for each package, and thus allows us to generate something akin to <a href="https://github.com/ocurrent/opam-health-check">opam health check</a> but much faster.</p> 950 999 <p>Currently the cache of a package is a key-value store where the key is a hash of the package name and version and all of its dependencies and their name and version, alongside some information about the OS. This is great when this info can uniquely identify the output, but this isn't always the case. In particular, the oxcaml opam-repository has several packages where the version number is the upstream version number with `-ox` appended, as they have patches to make them compatible with oxcaml. If these patches change without bumping the suffix the currently caching mechanism would lead to trouble. When we discussed this David pointed out the idea of the <a href="https://github.com/ocaml/opam/blob/c36dd1ce40a715ef27122184715bbf3e9aa7f0c9/src/state/opamPackageVar.ml#L178-L211">build-id</a> in opam, which would perfectly satisfy our needs. Unfortunately this code is quite deep within the opam codebase and at the point we need it we don't have an installed opam switch, so we need to pull the code out and insert it into our project.</p> 951 1000 <p>One of the first challenges was that day10 currently includes the OS details in the hash so that we can test across different distros. This is at odds with the opam build-id which doesn't include that, so in order to try to get as close as possible to the opam hash I split the cache into 2 layers - a per-OS cache directory containing hashes based on pure opam metadata. The idea is that these should be identical to the build-ids of opam. With that fixed, the new cache layout looks like:</p> ··· 962 1011 <summary>For a few years now we've been running , a Jupyterhub instance, for the first year course &quot;Foundations of Computer Science&quot;. It serves as a hosting site for the lecture notes, which come in the form o...</summary> 963 1012 <content type="html"><![CDATA[<h1 id="giving-hub.cl-an-upgrade"><a href="#giving-hub.cl-an-upgrade" class="anchor"></a>Giving hub.cl an upgrade</h1> 964 1013 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-09-07</p></li></ul> 1014 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/teaching.html" title="teaching">teaching</a> <a href="../../../tags/ocaml.html" title="ocaml">ocaml</a></p></li></ul> 965 1015 <p>For a few years now we've been running <code>hub.cl.cam.ac.uk</code>, a Jupyterhub instance, for the first year course &quot;Foundations of Computer Science&quot;. It serves as a hosting site for the lecture notes, which come in the form of Jupyter notebooks, and as a playground where students can try OCaml, and it also is used to run the assessed exercises that are a mandatory part of the course.</p> 966 1016 <p>Since I spent some time setting it up back in 2018 or so, its aggregated some cruft over the years, and has also fallen somewhat behind the bleeding edge of the Jupyter software stack. So I thought this year, as I'm actually lecturing the course, I'd give it a bit of loving care and attention.</p> 967 1017 <p>We were still on Jupyterhub 1.5.3 whereas the current release is 5.3.0 - so there was quite a bit of work to do. I brief play with putting things on the latest version seemed to break quite a lot of things, so I thought it might be better to go back to the drawing board and start the config again from scratch. So with some help from Claude, I've now managed to hugely simplify the whole config of Jupyterhub, and even given it a makeover to try to match the style of www.cst.cam.ac.uk as well. The improvements include:</p> ··· 978 1028 <summary>Here's a quick post on how to get the OCaml Language Server (ocaml-lsp-server) working with an MCP server.</summary> 979 1029 <content type="html"><![CDATA[<h1 id="using-ocaml-lsp-server-via-an-mcp-server"><a href="#using-ocaml-lsp-server-via-an-mcp-server" class="anchor"></a>Using ocaml-lsp-server via an MCP server</h1> 980 1030 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-08-27</p></li></ul> 1031 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ai.html" title="ai">ai</a> <a href="../../../tags/plugins.html" title="plugins">plugins</a></p></li></ul> 981 1032 <p>Here's a quick post on how to get the OCaml Language Server (ocaml-lsp-server) working with an MCP server.</p> 982 1033 <p>We're going to use <a href="https://github.com/isaacphi">issacphi</a>'s adapter for LSP servers, which is written in go. So install go, and then:</p> 983 1034 <div><pre class="language-bash"><code>go install github.com/isaacphi/mcp-language-server@latest</code></pre></div> ··· 996 1047 <summary>LLMs are proving themselves superbly capable of a variety of coding tasks, having been trained against the enormous amount of code, tutorials and manuals available online. However, with smaller langua...</summary> 997 1048 <content type="html"><![CDATA[<h1 id="an-ocaml-mcp-server"><a href="#an-ocaml-mcp-server" class="anchor"></a>An OCaml MCP server</h1> 998 1049 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-08-20</p></li></ul> 1050 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ai.html" title="ai">ai</a> <a href="../../../tags/plugins.html" title="plugins">plugins</a></p></li></ul> 999 1051 <p>LLMs are proving themselves superbly capable of a variety of coding tasks, having been trained against the enormous amount of code, tutorials and manuals available online. However, with smaller languages like OCaml there simply isn't enough training material out there, particularly when it comes to new language features like <a href="https://ocaml.org/manual/5.3/effects.html">effects</a> or new packages that haven't had time to be widely used. With my colleagues <a href="https://anil.recoil.org/">Anil</a>, <a href="https://ryan.freumh.org/">Ryan</a> and <a href="https://toao.com/">Sadiq</a> we've been exploring ways to <a href="https://anil.recoil.org/notes/cresting-the-ocaml-ai-hump">improve this situation</a>. One way we can mitigate these challenges is to provide a Model Context Protocol (<a href="https://modelcontextprotocol.io">MCP</a>) server that's capable of providing up-to-date info on the current state of the OCaml world.</p> 1000 1052 <p>The <a href="https://docs.anthropic.com/en/docs/mcp">MCP specification</a> was released by Anthropic at the end of last year. Since then it has become an astonishingly popular mechanism for extending the capabilities of LLMs, allowing them to become incredibly powerful agents capable of much more than simply chatting. There are now a huge variety of MCP servers, from one that provides <a href="https://github.com/r-huijts/firstcycling-mcp">professional cycling data</a> to one that can <a href="https://github.com/GongRzhe/Gmail-MCP-Server">do your email</a>. The <a href="https://github.com/punkpeye/awesome-mcp-servers">awesome mcp server list</a> already lists hundreds, and these are just the <em>awesome</em> ones!</p> 1001 1053 <p>I've been working with <a href="https://toao.com/">Sadiq</a> to make an <a href="https://github.com/sadiqj/odoc-llm/">MCP server for OCaml</a>, with an initial focus on building it such that it can be hosted for everyone rather than something that is run locally. Our plan is to start with a service that can help with choosing OCaml libraries, by taking advantage of the work done by <a href="https://github.com/ocurrent/ocaml-docs-ci/">ocaml-docs-ci</a> which is the tool used to generate the documentation for all packages in <a href="https://github.com/ocaml/opam-repository">opam-repository</a> and is served by <a href="https://ocaml.org/">ocaml.org</a>. As well as producing HTML docs, we can also extract a number of other formats from the pipeline, including a newly created <a href="https://github.com/ocaml/odoc/pull/1341">markdown backend</a>. Using this, we can get markdown-formatted documentation for the every version of every package in the OCaml ecosystem.</p> ··· 1379 1431 <summary>More work this week on the OCaml MCP server. Sadiq and I met before I went away on holiday and discussed the next steps to 'park' the work on the MCP server. The final steps are:</summary> 1380 1432 <content type="html"><![CDATA[<h1 id="week-33"><a href="#week-33" class="anchor"></a>Week 33</h1> 1381 1433 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-08-19</p></li></ul> 1434 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 1382 1435 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>yojson,jsonm</p></li></ul> 1383 1436 <p>More work this week on the OCaml MCP server. Sadiq and I met before I went away on holiday and discussed the next steps to 'park' the work on the MCP server. The final steps are:</p> 1384 1437 <ul><li>Write a README</li><li>Write and run a small script to fix a problem with module-type names</li><li>Write up and publish a blog post</li></ul> ··· 1403 1456 <summary>Astonishingly, it's already been since starting back at the university, which I find incredibly hard to believe. I'm utterly convinced that it was only a couple of weeks ago that I walked back into t...</summary> 1404 1457 <content type="html"><![CDATA[<h1 id="4-months-in,-a-retrospective"><a href="#4-months-in,-a-retrospective" class="anchor"></a>4 months in, a retrospective</h1> 1405 1458 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-07-18</p></li></ul> 1459 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/meta.html" title="meta">meta</a></p></li></ul> 1406 1460 <p>Astonishingly, it's already been <i>four whole months</i> since starting back at the university, which I find incredibly hard to believe. I'm utterly convinced that it was only a couple of weeks ago that I walked back into the Computer Laboratory as an SRA for the first time since 2021, but here we are, at the end of term already. Time to do a bit of a retrospective and forward-looking plan for the next 3-4 months!</p> 1407 1461 <h2 id="what's-happened?"><a href="#what's-happened?" class="anchor"></a>What's happened?</h2> 1408 1462 <p>On wednesday this week, I had a chance to sit down with Anil, supposedly to talk about the upcoming lecturing of 1A Foundations of Computer Science, but we ended up talking about what I've been doing for the past few months, and where it fits into the broader picture of the group as a whole. It was a really useful conversation, and I thought it would be good to outline it here while it's fresh in my mind.</p> ··· 1452 1506 <summary>As of today, Odoc 3 is now live on OCaml.org! This is a major update to odoc, and has brought a whole host of new features and improvements to the documentation pages.</summary> 1453 1507 <content type="html"><![CDATA[<h1 id="odoc-3-is-live-on-ocaml.org!"><a href="#odoc-3-is-live-on-ocaml.org!" class="anchor"></a>Odoc 3 is live on OCaml.org!</h1> 1454 1508 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-07-14</p></li></ul> 1509 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 1455 1510 <p>As of today, Odoc 3 is now live on OCaml.org! This is a major update to odoc, and has brought a whole host of new features and improvements to the documentation pages.</p> 1456 1511 <p>Some of the highlights include:</p> 1457 1512 <ul><li>Source code rendering</li><li>Hierarchical manual pages</li><li>Image, video and audio support</li><li>Separation of API docs by library</li></ul> ··· 1471 1526 <summary>Week 28</summary> 1472 1527 <content type="html"><![CDATA[<h1 id="week-28"><a href="#week-28" class="anchor"></a>Week 28</h1> 1473 1528 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-07-14</p></li></ul> 1529 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 1474 1530 <h2 id="ocaml-mcp-server"><a href="#ocaml-mcp-server" class="anchor"></a>OCaml MCP server</h2> 1475 1531 <p>Last week I got the summarisation to the point where it felt useful to run it across all the modules in opam. With this completed we then got to try out the MCP server to see how useful it would be in practice.</p> 1476 1532 <p>One of the first queries <a href="https://anil.recoil.org/">Anil</a> tried was to ask it which libraries would be most useful for &quot;date time parsing and formatting&quot;. We were surprised to see that the first two libraries it returned were <code>caqti</code> and <code>mariadb</code>, specifically mentioning the module <a href="https://ocaml.org/p/caqti/latest/doc/caqti-platform/Caqti_platform/Conv/index.html">Caqti_platform.Conv</a> and <a href="https://ocaml.org/p/mariadb/latest/doc/mariadb/Mariadb/module-type-S/Time/index.html">Mariadb.S.Time</a>. While these do indeed provide the required functionality, they're probably not the right libraries to provide this. It's going to be tricky to decide this in the MCP server, so we should probably be leaving it up to the LLM to decide amongst them on the client. However, for very general queries we might end up with a large number of matching libraries, so we'll need to have a limit on the number of packages returned, which implies some form of ranking.</p> ··· 1498 1554 <summary>It's been a busy few weeks. There's been exam marking for the 1A Foundations of Computer Science course, an Odoc release to plan, and some really interesting new work on using LLMs to summarise OCaml ...</summary> 1499 1555 <content type="html"><![CDATA[<h1 id="weeks-24-27"><a href="#weeks-24-27" class="anchor"></a>Weeks 24-27</h1> 1500 1556 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-07-07</p></li></ul> 1557 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 1501 1558 <p>It's been a busy few weeks. There's been exam marking for the 1A Foundations of Computer Science course, an Odoc release to plan, and some really interesting new work on using LLMs to summarise OCaml documentation. This post is about anaspect of that last one that I found particularly interesting.</p> 1502 1559 <h2 id="odoc-llm"><a href="#odoc-llm" class="anchor"></a>odoc-llm</h2> 1503 1560 <p>Sadiq and I have been <a href="https://toao.com/blog/ocaml-local-code-models">looking at using LLMs</a> to summarise the documentation produced by Odoc. The idea is to get a concise summary of the purpose of each module, so that we can quickly identify which modules are relevant to a particular task.</p> ··· 1576 1633 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>opam-format,fpath,rresult,bos</p></li></ul> 1577 1634 <ul class="at-tags"><li class="merlinonly"><span class="at-tag">merlinonly</span> </li></ul> 1578 1635 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-06-09</p></li></ul> 1636 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/weeknotes.html" title="weeknotes">weeknotes</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 1579 1637 <p>Some brief notes on last week.</p> 1580 1638 <h2 id="docs-ci-and-sherlodoc"><a href="#docs-ci-and-sherlodoc" class="anchor"></a>Docs CI and Sherlodoc</h2> 1581 1639 <p>Anil has been working on an <a href="https://tangled.sh/@anil.recoil.org/odoc-mcp">MCP server</a> that searches through the output of the docs CI to find relevant packages and API information for opam packages. For expediency, this works by scraping the HTML output, but a potentially better solution would be to integrate properly with <a href="https://doc.sherlocode.com">Sherlodoc</a>, <a href="https://github.com/art-w/">Arthur's</a> code search engine.</p> ··· 1641 1699 <summary>The docs build is progress well, and we've hit 20,000 packages (20,038 to be precise). So at this point I thought it'd be useful to take a look through the various failures to see if there are any in...</summary> 1642 1700 <content type="html"><![CDATA[<h1 id="progress-in-ocaml-docs"><a href="#progress-in-ocaml-docs" class="anchor"></a>Progress in OCaml docs</h1> 1643 1701 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-05-29</p></li></ul> 1702 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 1644 1703 <p>The docs build is progress well, and we've <i>just about</i> hit 20,000 packages (20,038 to be precise). So at this point I thought it'd be useful to take a look through the various failures to see if there are any insights to be gained.</p> 1645 1704 <p>Odoc requires a built package in order to generate the docs, there are two steps that have to be done before we can begin building the docs. Step one is to figure out the exact set of packages to build - ie, doing an opam solve, and step two is to actually build the packages. These two steps are, to some extent, out of docs-ci's control, and rely on the state of opam repository. While there are efforts to keep this in as good a state as possible, it's still the case that these steps fail much more often than the actual docs build itself. Let's take a look at some of the failures we see in each of these steps.</p> 1646 1705 <h2 id="step-1:-opam-solve"><a href="#step-1:-opam-solve" class="anchor"></a>Step 1: opam solve</h2> ··· 1752 1811 <summary>I've been working on a whole lot of thing recently in many different areas, making what's felt like only a bit of progress in each. Consequently I've not felt like I had anything substantial to say, s...</summary> 1753 1812 <content type="html"><![CDATA[<h1 id="lots-of-things-have-been-happening"><a href="#lots-of-things-have-been-happening" class="anchor"></a>Lots of things have been happening</h1> 1754 1813 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-05-20</p></li></ul> 1814 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/ocaml.html" title="ocaml">ocaml</a> <a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 1755 1815 <p>I've been working on a whole lot of thing recently in many different areas, making what's felt like only a bit of progress in each. Consequently I've not felt like I had anything substantial to say, so I haven't written up anything for a while.</p> 1756 1816 <p>Time for a little summary of things then!</p> 1757 1817 <h2 id="ocaml-docs-ci"><a href="#ocaml-docs-ci" class="anchor"></a>Ocaml-docs-ci</h2> ··· 1791 1851 <summary>My colleague and I have been working on a little project to see how well small AI models can solve the OCaml exercises we give to our first-year students at the University of Cambridge. Sadiq has don...</summary> 1792 1852 <content type="html"><![CDATA[<h1 id="solving-first-year-ocaml-exercises-with-ai"><a href="#solving-first-year-ocaml-exercises-with-ai" class="anchor"></a>Solving First-year OCaml exercises with AI</h1> 1793 1853 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-05-07</p></li></ul> 1854 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ai.html" title="ai">ai</a> <a href="../../../tags/teaching.html" title="teaching">teaching</a> <a href="../../../tags/ocaml.html" title="ocaml">ocaml</a></p></li></ul> 1794 1855 <p>My colleague <a href="https://toao.com">Sadiq Jaffer</a> and I have been working on a little project to see how well small AI models can solve the OCaml exercises we give to our first-year students at the University of Cambridge. Sadiq has done an excellent <a href="https://toao.com/blog/ocaml-local-code-models">write up</a> of our initial results, which you should all go and read! The tl;dr though, as Sadiq writes, is that even some of the smaller models would score top marks on these exercises!</p> 1795 1856 <p>One interesting aspect we discovered quite quickly is that we had to make the testing feedback a little more generous than just &quot;exception raised&quot;! The problems are presented as a Jupyter notebook using <a href="https://github.com/akabe">akabe's</a> excellent OCaml kernel, with <a href="https://nbgrader.readthedocs.io/en/stable/">nbgrader</a> to do the assessment. Our students can see the tests that are run, and if they fail they're able to copy the test cell out and play with their code to figure out exactly what went wrong. The AI models, however, have a far less interactive experience, and get just 3 chances to write code that passes the tests. We found that the performance of the models increased hugely when we adjusted the test cells such that they clearly indicated which test failed, the results that were expected, and the results the code actually produced.</p> 1796 1857 <p>Of course, we <a href="https://anil.recoil.org/notes/claude-copilot-sandbox">already knew</a> that AI models can code OCaml very well, and we (along with the rest of the teaching world) are still ruminating on the implications of this from a pedagogical perspective. Our plan, though, is to try and make the 'problem' worse by training these models on more OCaml code, and see just how well we can get them to perform! It's pretty amazing, and a little startling to know that a model that'll run pretty comfortably on my laptop can solve these problems so well even without extra training, though given how hot it gets, I'd rather not have the laptop on my actual lap while it's doing so!</p>]]></content> ··· 1804 1865 <summary>I joined the OxCaml weekly meeting representing Tarides for the first time this week, as Jane Street gear up to an official release of their OxCaml compiler.</summary> 1805 1866 <content type="html"><![CDATA[<h1 id="oxcaml-is-getting-closer..."><a href="#oxcaml-is-getting-closer..." class="anchor"></a>OxCaml is getting closer...</h1> 1806 1867 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-05-02</p></li></ul> 1868 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ocaml.html" title="ocaml">ocaml</a></p></li></ul> 1807 1869 <p>I joined the OxCaml weekly meeting representing Tarides for the first time this week, as Jane Street gear up to an official release of their OxCaml compiler.</p> 1808 1870 <p>It seems that mainly what needs to be done before the release can be made is to ensure there is some reasonable documentation for the new features, and that a reasonable number of packages are working, so people are furiously writing and bugfixing to try and get this ready.</p> 1809 1871 <p>As well as this though, there are some challenges of a more organisational level that will need to be addressed to ensure the success of the project. Jane Street have long had a public branch of their compiler, but while they've had patches internally to ensure the tooling and other libraries work, these patches haven't previously been made public in a usable way. In order for OxCaml to be useful, it will clearly need these patches not only to be available, but also to be maintained and to easily allow contributions from the community -- in short, they need to be properly Open Source!</p> ··· 1818 1880 <summary> Today was the &quot;AI for Climate &amp; Nature Community Day&quot; at the . A whole bunch of the EEG were either presenting or contributing in some way so I thought I'd come along to see what's going on.</summary> 1819 1881 <content type="html"><![CDATA[<h1 id="ai-for-climate-&amp;-nature-community-day"><a href="#ai-for-climate-&amp;-nature-community-day" class="anchor"></a>AI for Climate &amp; Nature Community Day</h1> 1820 1882 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-05-01</p></li></ul> 1883 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ai.html" title="ai">ai</a></p></li></ul> 1821 1884 <div><a href="melissa.jpg" class="img-link"><img src="melissa.jpg" alt="Melissa Leach"/></a></div> 1822 1885 <p><i>Melissa Leach introducing the day</i> Today was the &quot;AI for Climate &amp; Nature Community Day&quot; at the <a href="https://map.cam.ac.uk/?maplon=0.12032&amp;maplat=52.20354&amp;mapzoom=18&amp;maplayers=Building+Labels%2CExternal+Sites%2CColleges%2CUniversity+Sites%2CBuildings%2CTransport&amp;mapfeature=mfid257%2CBuildings">David Attenborough Building</a>. A whole bunch of the EEG were either presenting or contributing in some way so I thought I'd come along to see what's going on.</p> 1823 1886 <h2 id="keynote-and-main-talks"><a href="#keynote-and-main-talks" class="anchor"></a>Keynote and main talks</h2> ··· 1889 1952 <summary>The release of Odoc 3 means that we need to update the project so that the documentation that appears on is using the latest, greatest Odoc. With this major release of Odoc, it's also time to give t...</summary> 1890 1953 <content type="html"><![CDATA[<h1 id="ocaml-docs-ci-and-odoc-3"><a href="#ocaml-docs-ci-and-odoc-3" class="anchor"></a>OCaml-Docs-CI and Odoc 3</h1> 1891 1954 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-04-29</p></li></ul> 1955 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/docs-ci.html" title="docs-ci">docs-ci</a></p></li></ul> 1892 1956 <p>The release of Odoc 3 means that we need to update the <a href="https://docs.ci.ocaml.org">docs-ci</a> project so that the documentation that appears on <a href="https://ocaml.org/p/">ocaml.org</a> is using the latest, greatest Odoc. With this major release of Odoc, it's also time to give the CI pipeline a bit of an overhaul too, and fix some of the irritations that it causes.</p> 1893 1957 <h2 id="the-challenge-of-documenting-ocaml"><a href="#the-challenge-of-documenting-ocaml" class="anchor"></a>The challenge of documenting OCaml</h2> 1894 1958 <p>As I wrote about <a href="semantic-versioning-is-hard.html" title="semantic-versioning-is-hard">recently</a>, the APIs of OCaml libraries are dependent not only on the version of its package, but possibly also on the versions of any of its dependencies. Due to this fact, to produce the docs for ocaml.org means that sometimes we need to build the docs for a particular version of a particular package multiple times with different versions of its dependencies.</p> ··· 1922 1986 <summary>Odoc 3 was and although we did write a list of the new features, I don't think we've made it clear enough why anyone should care.</summary> 1923 1987 <content type="html"><![CDATA[<h1 id="odoc-3:-so-what?"><a href="#odoc-3:-so-what?" class="anchor"></a>Odoc 3: So what?</h1> 1924 1988 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-04-25</p></li></ul> 1989 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 1925 1990 <p>Odoc 3 was <a href="https://discuss.ocaml.org/t/ann-odoc-3-0-released/16339">released last month</a> and although we did write a list of the new features, I don't think we've made it clear enough why anyone should care.</p> 1926 1991 <p>It's <b>manuals</b>, the theme of Odoc 3 is <b>manuals</b>. It's got a load of features to make it much better for writing <code>mld</code> pages (files written using odoc's markup) to document your packages and their relationship to the surrounding ecosystem. Previous versions of Odoc were very library-centric, in that while we did have mld-file support, most of the effort went into making sure that we were generating correct per-module pages, which show the shape of your API even if you've not put in any doc comments at all. We've still got that, obviously, but we've added many features to make write <code>mld</code> pages far more useful, and we're really hoping that these will draw people in to make documenting packages a much more enjoyable experience.</p> 1927 1992 <h2 id="odoc's-special-skill:-links!"><a href="#odoc's-special-skill:-links!" class="anchor"></a>Odoc's special skill: links!</h2> ··· 1945 2010 <summary> is a lovely and simple idea that, if it were reliably implemented everywhere, would make life a lot simpler. So, is it possible to make our OCaml libraries stick to this scheme? There are some projec...</summary> 1946 2011 <content type="html"><![CDATA[<h1 id="semantic-versioning-in-ocaml-is-hard"><a href="#semantic-versioning-in-ocaml-is-hard" class="anchor"></a>Semantic Versioning in OCaml is Hard</h1> 1947 2012 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-04-20</p></li></ul> 2013 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ocaml.html" title="ocaml">ocaml</a></p></li></ul> 1948 2014 <p><a href="https://semver.org">Semantic versioning</a> is a lovely and simple idea that, if it were reliably implemented everywhere, would make life a lot simpler. So, is it possible to make our OCaml libraries stick to this scheme? There are some projects that are trying to do this, including a recent <a href="https://www.outreachy.org">Outreachy</a> project by <a href="https://github.com/azzsal/">Abdulaziz Alkurd</a> mentored by <a href="https://choum.net">panglesd</a> and <a href="https://github.com/nathanreb">Nathan Reb</a>. While this is a great start, there are some subtleties of the OCaml module system that make it a good deal more complex than in other languages.</p> 1949 2015 <h2 id="opam-format.2.3.0-≠-opam-format.2.3.0?"><a href="#opam-format.2.3.0-≠-opam-format.2.3.0?" class="anchor"></a>opam-format.2.3.0 ≠ opam-format.2.3.0?</h2> 1950 2016 <p>Let's take the case that hit me this morning. I've been working on <a href="https://github.com/ocurrent/ocaml-docs-ci">ocaml-docs-ci</a> in order to bring the exciting new <a href="https://ocaml.github.io/odoc">odoc 3</a> features to <a href="https://ocaml.org/">ocaml.org</a> for everyone to enjoy. I have it checked out and building locally, but to deploy it to the infrastructure managed by <a href="https://tunbury.org/">Mark Elvers</a> it needs to be packaged up into a Docker image. So I issued the usual <code>docker build .</code> and after it churned through the setup stages and got on to building the project, it hit an error:</p> ··· 2041 2107 <summary>It's tremendously exciting to be back in the , as the last time I worked here was just before the pandemic. I'm now a member of the whose goal is &quot;to have a measurable impact on tools and techniques ...</summary> 2042 2108 <content type="html"><![CDATA[<h1 id="meeting-the-team"><a href="#meeting-the-team" class="anchor"></a>Meeting the Team</h1> 2043 2109 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-04-08</p></li></ul> 2110 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/meta.html" title="meta">meta</a></p></li></ul> 2044 2111 <p>It's tremendously exciting to be back in the <a href="https://www.cst.cam.ac.uk/">Computer Laboratory</a>, as the last time I worked here was just before the pandemic. I'm now a member of the <a href="https://www.cst.cam.ac.uk/research/eeg">Energy and Environment Group</a> whose goal is &quot;to have a measurable impact on tools and techniques for de-risking the future&quot;.</p> 2045 2112 <h2 id="what's-going-on?"><a href="#what's-going-on?" class="anchor"></a>What's going on?</h2> 2046 2113 <p>With such a broad goal, it's hard to know where to start and how I'll fit in, so my first few weeks have been spent getting to know the other members of the group and what they're up to. It's an incredibly inspiring group of individuals who are all doing amazing work, and it's really humbling and daunting to be a part of it.</p> ··· 2059 2126 <content type="html"><![CDATA[<h1 id="this-site"><a href="#this-site" class="anchor"></a>This site</h1> 2060 2127 <ul class="at-tags"><li class="x-ocaml.requires"><span class="at-tag">x-ocaml.requires</span> <p>mime_printer</p></li></ul> 2061 2128 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-04-07</p></li></ul> 2129 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a> <a href="../../../tags/meta.html" title="meta">meta</a></p></li></ul> 2062 2130 <p>I've spent a <em>lot</em> of time over the past few years working on Odoc, the OCaml documentation generator, so when it came time to (re)start my own website and blog, I found it hard to resist thinking about how I might use odoc as part of it. We've spent a lot of time recently trying to make odoc more able to generate structured documentation sites, so I've gone all in and am trialling using it as a tool to generate my entire site. This is a bit of an experiment, and I don't know how well it will work out, but let's see how it goes.</p> 2063 2131 <p>Additionally, I've recently been working on a project currently called <code>odoc_notebook</code>, which is a set of tools to allow odoc <code>mld</code> files to be used as a sort of Jupyter-style notebook. The idea is that you can write both text and code in the same file, and then run the code in the notebook interactively. Since I've only got a webserver, all the execution of code has to be done client side, so I'm making extensive use of the phenomenal <a href="https://github.com/ocsigen/js_of_ocaml">Js_of_ocaml</a> project to get an OCaml engine running in the browser.</p> 2064 2132 <p>My focus has initially been on getting 'toplevel-style' code execution working. As an example, let's write a little demo.</p> ··· 2103 2171 <summary>There are that Odoc 3 brings, but there are also a large number of bugfixes. I thought I'd write about one in particular here, an that landed in May 2024.</summary> 2104 2172 <content type="html"><![CDATA[<h1 id="the-road-to-odoc-3:-module-type-of"><a href="#the-road-to-odoc-3:-module-type-of" class="anchor"></a>The Road to Odoc 3: Module Type Of</h1> 2105 2173 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-03-08</p></li></ul> 2174 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/ocaml.html" title="ocaml">ocaml</a> <a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 2106 2175 <p>There are <a href="https://discuss.ocaml.org/t/ann-odoc-3-beta-release/16043">many new and improved features</a> that Odoc 3 brings, but there are also a large number of bugfixes. I thought I'd write about one in particular here, an <a href="https://github.com/ocaml/odoc/pull/1081">overhaul of &quot;module type of&quot;</a> that landed in May 2024.</p> 2107 2176 <h2 id="module-type-of"><a href="#module-type-of" class="anchor"></a>Module Type Of</h2> 2108 2177 <p>module type of is a language feature of OCaml allowing one to recover the signature of an existing module. For example, if I had a module <code>X</code>:</p> ··· 2156 2225 <summary>Back in 2021 introduced some to odoc’s code blocks to allow us to attach arbitrary metadata to the blocks. We imposed no structure on this; it was simply a block of text in between the language ta...</summary> 2157 2226 <content type="html"><![CDATA[<h1 id="code-block-metadata"><a href="#code-block-metadata" class="anchor"></a>Code block metadata</h1> 2158 2227 <ul class="at-tags"><li class="published"><span class="at-tag">published</span> <p>2025-03-07</p></li></ul> 2228 + <ul class="at-tags"><li class="page-tags"><span class="at-tag">page-tags</span> <p><a href="../../../tags/odoc.html" title="odoc">odoc</a></p></li></ul> 2159 2229 <p>Back in 2021 <a href="https://github.com/julow">julow</a> introduced some <a href="https://github.com/ocaml-doc/odoc-parser/pull/2">new syntax</a> to odoc’s code blocks to allow us to attach arbitrary metadata to the blocks. We imposed no structure on this; it was simply a block of text in between the language tag and the start of the code block. Now odoc needs to use it itself, we need to be a bit more precise about how it’s defined.</p> 2160 2230 <p>The original concept looked like this:</p> 2161 2231 <pre>{@ocaml metadata goes here in an unstructured way[
+72 -49
odoc-jons-plugins/src/odoc_jons_plugins.ml
··· 434 434 padding: 0.15em 0.65em; 435 435 font-size: 0.8rem; 436 436 line-height: 1.4; 437 - color: var(--text-muted, #666); 438 437 background: var(--surface-alt, #f3f3f3); 439 438 border: 1px solid var(--border-color, #e0e0e0); 440 439 border-radius: 999px; 440 + transition: background 0.15s ease, color 0.15s ease; 441 + } 442 + .page-tags .tag-chip a { 443 + color: var(--text-muted, #666); 441 444 text-decoration: none; 442 - transition: background 0.15s ease, color 0.15s ease; 443 445 } 444 446 .page-tags .tag-chip:hover { 445 - color: var(--accent-color, #b44e2d); 446 447 background: var(--bg-hover, #eee); 447 448 } 449 + .page-tags .tag-chip:hover a { 450 + color: var(--accent-color, #b44e2d); 451 + } 448 452 @media (prefers-color-scheme: dark) { 449 453 .page-tags .tag-chip { 450 - color: var(--text-muted, #aaa); 451 454 background: rgba(255,255,255,0.04); 452 455 border-color: rgba(255,255,255,0.1); 456 + } 457 + .page-tags .tag-chip a { 458 + color: var(--text-muted, #aaa); 453 459 } 454 460 } 455 461 |} ··· 492 498 let raw_block html = 493 499 Odoc_document.Types.Block.{ attr = []; desc = Raw_markup ("html", html) } 494 500 495 - (* HTML-escape a tag (tags are already constrained to safe chars, but 496 - be defensive). *) 497 - let escape_attr s = 498 - let b = Buffer.create (Stdlib.String.length s) in 499 - Stdlib.String.iter (fun c -> 500 - match c with 501 - | '&' -> Buffer.add_string b "&amp;" 502 - | '<' -> Buffer.add_string b "&lt;" 503 - | '>' -> Buffer.add_string b "&gt;" 504 - | '"' -> Buffer.add_string b "&quot;" 505 - | c -> Buffer.add_char b c 506 - ) s; 507 - Buffer.contents b 508 - 509 - let render_chips tags = 510 - let buf = Buffer.create 256 in 511 - Buffer.add_string buf {|<div class="page-tags">|}; 512 - List.iter (fun tag -> 513 - let t = escape_attr tag in 514 - Buffer.add_string buf 515 - (Printf.sprintf {|<a class="tag-chip" href="/tags/%s">%s</a>|} t t) 516 - ) tags; 517 - Buffer.add_string buf "</div>"; 518 - Buffer.contents buf 519 - 520 501 let to_document ~tag:_ content = 521 - let tags = extract_tags content in 522 - let content = 523 - if tags = [] then [] 524 - else [ raw_block (render_chips tags) ] 525 - in 526 - { 527 - Api.content; 528 - overrides = []; 529 - resources = [ Api.Css_inline page_tags_css ]; 530 - assets = []; 531 - } 502 + let blocks = Api.blocks_of_nestable_elements content in 503 + let open Odoc_document.Types in 504 + (* After link phase, the content is a paragraph of resolved references. 505 + Extract the Link elements and render them as chips. *) 506 + let links = List.concat_map (fun (b : Block.one) -> 507 + match b.desc with 508 + | Paragraph inlines | Inline inlines -> 509 + List.filter_map (fun (i : Inline.one) -> 510 + match i.desc with 511 + | Link _ -> Some i 512 + | _ -> None 513 + ) inlines 514 + | _ -> [] 515 + ) blocks in 516 + if links = [] then 517 + (* Fallback: just render the plain text tags *) 518 + Api.simple_output blocks 519 + else 520 + let result = ref [] in 521 + let add b = result := b :: !result in 522 + add (raw_block {|<div class="page-tags">|}); 523 + List.iter (fun (link : Inline.one) -> 524 + add (raw_block {|<span class="tag-chip">|}); 525 + add Block.{ attr = []; desc = Inline [link] }; 526 + add (raw_block {|</span>|}) 527 + ) links; 528 + add (raw_block {|</div>|}); 529 + { 530 + content = List.rev !result; 531 + overrides = []; 532 + resources = [ Api.Css_inline page_tags_css ]; 533 + assets = []; 534 + } 532 535 536 + (* Link phase: replace tag text with resolved Reference elements 537 + pointing to each tag's page. By constructing resolved references, 538 + odoc generates correct links without hardcoded URLs. *) 533 539 let link ~tag:_ env content = 534 540 let tags = extract_tags content in 535 - List.iter (fun tag -> 541 + let dummy_loc = { 542 + Api.Location_.file = ""; start = { line = 0; column = 0 }; 543 + end_ = { line = 0; column = 0 } 544 + } in 545 + let loc v = { Api.Location_.value = v; location = dummy_loc } in 546 + let refs = List.filter_map (fun tag -> 536 547 let hierarchy : Odoc_model.Paths.Reference.Hierarchy.t = 537 548 (`TCurrentPackage, [ "tags"; tag ]) 538 549 in 539 550 match Api.Env.lookup_page_by_path hierarchy env with 540 - | Ok _ -> () 551 + | Ok page -> 552 + let resolved_ref : Odoc_model.Paths.Reference.Resolved.t = 553 + `Identifier (page.name :> Odoc_model.Paths.Identifier.t) 554 + in 555 + Some (loc (`Reference (`Resolved resolved_ref, [ loc (`Word tag) ]))) 541 556 | Error _ -> 542 - failwith 543 - (Printf.sprintf 544 - "@page-tags: no page found for tag '%s'. Create \ 545 - site/tags/%s.mld before using this tag." 546 - tag tag) 547 - ) tags; 548 - content 557 + Format.eprintf 558 + "@page-tags: no page found for tag '%s'. Create \ 559 + site/tags/%s.mld before using this tag.@." tag tag; 560 + None 561 + ) tags in 562 + if refs = [] then content 563 + else 564 + let spaced = 565 + List.concat_map (fun r -> [loc `Space; r]) refs 566 + |> List.tl (* drop leading space *) 567 + in 568 + [ loc (`Paragraph spaced) ] 549 569 end 550 570 551 571 let () = 552 572 Api.Registry.register_with_link (module Page_tags) 573 + 574 + let () = 575 + hidden_tag_extension "tagged-pages" 553 576 554 577 (* Whitespace-separated tokeniser with support for double-quoted 555 578 values. Used by @figure and the image / linked-image inlines. *)
+21 -11
scripts/gen_atom.ml
··· 183 183 in 184 184 match first_text with 185 185 | Some t when String.length t > 200 -> 186 - String.sub t 0 200 ^ "..." 186 + (* Truncate at a UTF-8 character boundary *) 187 + let n = ref 200 in 188 + while !n > 0 && Char.code t.[!n] land 0xC0 = 0x80 do 189 + decr n 190 + done; 191 + (* If we landed on a lead byte, back up past it *) 192 + if !n > 0 && Char.code t.[!n] land 0x80 <> 0 then 193 + decr n; 194 + String.sub t 0 !n ^ "..." 187 195 | Some t -> t 188 196 | None -> title 189 197 in ··· 210 218 let write_atom entries out_path = 211 219 let oc = open_out out_path in 212 220 let p = Printf.fprintf in 213 - let now = 214 - let t = Unix.gettimeofday () in 215 - let tm = Unix.gmtime t in 216 - Printf.sprintf "%04d-%02d-%02dT%02d:%02d:%02dZ" 217 - (tm.tm_year + 1900) (tm.tm_mon + 1) tm.tm_mday 218 - tm.tm_hour tm.tm_min tm.tm_sec 221 + let updated = 222 + match entries with 223 + | e :: _ -> atom_datetime e.published 224 + | [] -> "1970-01-01T00:00:00Z" 219 225 in 220 226 p oc "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 221 227 p oc "<feed xmlns=\"http://www.w3.org/2005/Atom\">\n"; 222 228 p oc " <id>https://jon.recoil.org/atom.xml</id>\n"; 223 229 p oc " <title>Jon's blog</title>\n"; 224 - p oc " <updated>%s</updated>\n" now; 230 + p oc " <updated>%s</updated>\n" updated; 225 231 p oc " <author>\n"; 226 232 p oc " <name>Jon Ludlam</name>\n"; 227 233 p oc " <uri>https://jon.recoil.org/</uri>\n"; ··· 247 253 (** {1 Main} *) 248 254 249 255 let () = 250 - let odocl_dir = Fpath.v "_build/default/site/_odoc/blog" in 256 + let odocl_dir, out_path = 257 + match Sys.argv with 258 + | [| _; dir; out |] -> (Fpath.v dir, out) 259 + | _ -> (Fpath.v "_build/default/site/_odoc/blog", "atom.xml") 260 + in 251 261 let mlds = 252 262 Bos.OS.Dir.fold_contents 253 263 (fun path acc -> if is_blog_post path then path :: acc else acc) ··· 260 270 | Ok mlds -> 261 271 let entries = List.filter_map entry_of_odocl mlds in 262 272 let entries = List.sort compare_entries entries in 263 - write_atom entries "atom.xml"; 264 - Format.printf "Generated atom.xml with %d entries\n%!" (List.length entries) 273 + write_atom entries out_path; 274 + Format.printf "Generated %s with %d entries\n%!" out_path (List.length entries)
+55 -4
scripts/gen_blog_index.ml
··· 12 12 slug : string; (* e.g., "claude-and-dune" *) 13 13 title : string; 14 14 published : string; (* e.g., "2025-12-18" *) 15 + tags : string list; 15 16 } 16 17 17 18 let parse_post path = ··· 37 38 with Not_found -> "" 38 39 in 39 40 41 + (* Extract tags from @page-tags ... *) 42 + let tags = 43 + let re = Str.regexp "@page-tags \\([^\n]+\\)" in 44 + try 45 + ignore (Str.search_forward re content 0); 46 + Str.matched_group 1 content 47 + |> String.split_on_char ' ' 48 + |> List.filter (fun s -> s <> "") 49 + |> List.map String.lowercase_ascii 50 + with Not_found -> [] 51 + in 52 + 40 53 (* Parse path to get year/month/slug *) 41 54 let parts = String.split_on_char '/' path in 42 55 match parts with ··· 44 57 let year = int_of_string year_s in 45 58 let month = int_of_string month_s in 46 59 let slug = Filename.remove_extension filename in 47 - Some { year; month; slug; title; published } 60 + Some { year; month; slug; title; published; tags } 48 61 | _ -> None 49 62 50 63 let find_posts () = ··· 53 66 let entries = Sys.readdir dir in 54 67 Array.iter (fun entry -> 55 68 let path = Filename.concat dir entry in 56 - if Sys.is_directory path then 69 + if entry.[0] <> '.' && Sys.is_directory path then 57 70 scan_dir path 58 - else if Filename.extension entry = ".mld" && entry <> "index.mld" then 71 + else if Filename.extension entry = ".mld" && entry <> "index.mld" 72 + && entry.[0] <> '.' then 59 73 match parse_post path with 60 74 | Some post when post.published <> "" -> posts := post :: !posts 61 75 | _ -> () ··· 200 214 201 215 (* Generate main blog index *) 202 216 let blog_index = generate_blog_index posts in 203 - write_file "blog/index.mld" blog_index 217 + write_file "blog/index.mld" blog_index; 218 + 219 + (* Generate tag pages *) 220 + let all_tags = 221 + posts 222 + |> List.concat_map (fun p -> p.tags) 223 + |> List.sort_uniq String.compare 224 + in 225 + List.iter (fun tag -> 226 + let tagged = List.filter (fun p -> List.mem tag p.tags) posts in 227 + (* Already sorted newest-first from find_posts *) 228 + let post_items = 229 + tagged 230 + |> List.map (fun p -> Printf.sprintf "{- %s %s}" (post_link p) p.published) 231 + |> String.concat "\n" 232 + in 233 + let content = Printf.sprintf 234 + "{0 Tag: %s}\n\n@tagged-pages %s\n\n{ul\n%s\n}\n" tag tag post_items 235 + in 236 + write_file (Printf.sprintf "tags/%s.mld" tag) content 237 + ) all_tags; 238 + 239 + (* Generate tag index *) 240 + let tag_links = 241 + all_tags 242 + |> List.map (fun tag -> 243 + let needs_quotes = String.exists (fun c -> c = '-' || c = '_') tag in 244 + let ref_fmt = 245 + if needs_quotes then Printf.sprintf "page-\"%s\"" tag 246 + else Printf.sprintf "page-%s" tag 247 + in 248 + Printf.sprintf "{- {{!%s}%s}}" ref_fmt tag) 249 + |> String.concat "\n" 250 + in 251 + let tag_index = Printf.sprintf "{0 Tags}\n\nPages grouped by tag.\n\n{ul\n%s\n}\n" 252 + tag_links 253 + in 254 + write_file "tags/index.mld" tag_index
+69 -3
site-builder/gen_rules.ml
··· 78 78 if dir = "." then Printf.sprintf "_html/%s.html" base 79 79 else Printf.sprintf "_html/%s/%s.html" dir base 80 80 81 + let md_target rel = 82 + let dir = Filename.dirname rel in 83 + let base = Filename.chop_extension (Filename.basename rel) in 84 + if dir = "." then Printf.sprintf "_md/%s.md" base 85 + else Printf.sprintf "_md/%s/%s.md" dir base 86 + 81 87 (* Asset path computations for the odoc asset pipeline *) 82 88 let asset_odoc_target rel = 83 89 let dir = Filename.dirname rel in ··· 137 143 is_under_blog rel 138 144 && Filename.check_suffix rel ".mld" 139 145 && Filename.basename rel <> "index.mld" 146 + 147 + let is_under_tags rel = 148 + String.length rel >= 5 && String.sub rel 0 5 = "tags/" 149 + 150 + let is_tag_page rel = 151 + is_under_tags rel && Filename.check_suffix rel ".mld" 140 152 141 153 (* --- Main ---------------------------------------------------------------- *) 142 154 ··· 253 265 List.iter (fun rel -> prl " _html/%s" rel) content_assets; 254 266 prl " ))"; 255 267 pr "\n"; 256 - (* Blog index generation via gen_blog_index.exe *) 268 + (* Phase 3: markdown-generate *) 269 + prl "(rule"; 270 + prl " (target (dir _md))"; 271 + prl " (deps"; 272 + List.iter (fun rel -> prl " %s" (odocl_target rel)) mld_files; 273 + List.iter (fun rel -> prl " %s" (asset_odocl_target rel)) content_assets; 274 + List.iter (fun rel -> prl " %s" rel) content_assets; 275 + prl " )"; 276 + prl " (action"; 277 + prl " (progn"; 278 + List.iter 279 + (fun rel -> 280 + prl " (run odoc markdown-generate --warn-error -o _md %s)" 281 + (odocl_target rel)) 282 + mld_files; 283 + (* Copy content assets into markdown output tree *) 284 + List.iter 285 + (fun asset -> 286 + prl " (system \"mkdir -p $(dirname _md/%s) && cp %s _md/%s\")" 287 + asset asset asset) 288 + content_assets; 289 + (* Copy static assets into markdown output tree *) 290 + List.iter 291 + (fun asset -> 292 + prl " (system \"mkdir -p $(dirname _md/%s) && cp %s _md/%s\")" 293 + asset asset asset) 294 + static_assets; 295 + prl " )))"; 296 + pr "\n"; 297 + (* @markdown alias *) 298 + prl "(alias"; 299 + prl " (name markdown)"; 300 + prl " (deps"; 301 + List.iter (fun rel -> prl " %s" (md_target rel)) mld_files; 302 + List.iter (fun asset -> prl " _md/%s" asset) static_assets; 303 + List.iter (fun rel -> prl " _md/%s" rel) content_assets; 304 + prl " ))"; 305 + pr "\n"; 306 + (* Blog index + tag page generation via gen_blog_index.exe *) 257 307 let blog_indexes = List.filter is_blog_index mld_files in 258 308 let blog_posts = List.filter is_blog_post mld_files in 309 + let tag_pages = List.filter is_tag_page mld_files in 259 310 if blog_indexes <> [] then begin 260 311 prl "(rule"; 261 312 prl " (target (dir _blog_gen))"; 262 313 prl " (deps"; 263 314 List.iter (fun rel -> prl " %s" rel) blog_posts; 264 315 List.iter (fun rel -> prl " %s" rel) blog_indexes; 316 + List.iter (fun rel -> prl " %s" rel) tag_pages; 265 317 prl " )"; 266 318 prl " (action (run ../scripts/gen_blog_index.exe)))"; 267 319 pr "\n"; 268 - (* Diff rules under @runtest *) 320 + (* Diff rules under @runtest for blog indexes and tag pages *) 269 321 List.iter 270 322 (fun rel -> 271 323 prl "(rule"; 272 324 prl " (alias runtest)"; 273 325 prl " (action (diff %s _blog_gen/%s)))" rel rel) 274 - blog_indexes; 326 + (blog_indexes @ tag_pages); 327 + end; 328 + pr "\n"; 329 + (* Atom feed generation — depends on blog post odocl files *) 330 + if blog_posts <> [] then begin 331 + prl "(rule"; 332 + prl " (target atom.xml.gen)"; 333 + prl " (deps"; 334 + List.iter (fun rel -> prl " %s" (odocl_target rel)) blog_posts; 335 + prl " )"; 336 + prl " (action (run ../scripts/gen_atom.exe _odoc/blog atom.xml.gen)))"; 337 + pr "\n"; 338 + prl "(rule"; 339 + prl " (alias runtest)"; 340 + prl " (action (diff? ../atom.xml atom.xml.gen)))"; 275 341 end; 276 342 ()
+1
site/blog/2025/03/code-block-metadata.mld
··· 1 1 {0 Code block metadata} 2 2 3 3 @published 2025-03-07 4 + @page-tags odoc 4 5 5 6 Back in 2021 {{:https://github.com/julow}julow} introduced some {{:https://github.com/ocaml-doc/odoc-parser/pull/2}new syntax} to odoc’s code blocks to allow us to attach arbitrary metadata to the blocks. We imposed no structure on this; it was simply a block of text in between the language tag and the start of the code block. Now odoc needs to use it itself, we need to be a bit more precise about how it’s defined. 6 7
+1
site/blog/2025/03/module-type-of.mld
··· 1 1 {0 The Road to Odoc 3: Module Type Of} 2 2 3 3 @published 2025-03-08 4 + @page-tags ocaml odoc 4 5 5 6 There are {{:https://discuss.ocaml.org/t/ann-odoc-3-beta-release/16043}many new and improved features} 6 7 that Odoc 3 brings, but there are also a large number of bugfixes. I thought I'd write about one in
+1
site/blog/2025/04/meeting-the-team.mld
··· 1 1 {0 Meeting the Team} 2 2 3 3 @published 2025-04-08 4 + @page-tags meta 4 5 5 6 It's tremendously exciting to be back in the {{:https://www.cst.cam.ac.uk/}Computer Laboratory}, 6 7 as the last time I worked here was just before the pandemic. I'm now a member of the {{:https://www.cst.cam.ac.uk/research/eeg}Energy and Environment Group}
+1
site/blog/2025/04/ocaml-docs-ci-and-odoc-3.mld
··· 1 1 {0 OCaml-Docs-CI and Odoc 3} 2 2 3 3 @published 2025-04-29 4 + @page-tags odoc docs-ci 4 5 5 6 The release of Odoc 3 means that we need to update the {{:https://docs.ci.ocaml.org}docs-ci} 6 7 project so that the documentation that appears on {{:https://ocaml.org/p/}ocaml.org}
+1
site/blog/2025/04/odoc-3.mld
··· 1 1 {0 Odoc 3: So what?} 2 2 3 3 @published 2025-04-25 4 + @page-tags odoc 4 5 5 6 Odoc 3 was {{:https://discuss.ocaml.org/t/ann-odoc-3-0-released/16339}released last month} 6 7 and although we did write a list of the new features, I don't think we've made
+1
site/blog/2025/04/semantic-versioning-is-hard.mld
··· 1 1 {0 Semantic Versioning in OCaml is Hard} 2 2 3 3 @published 2025-04-20 4 + @page-tags ocaml 4 5 5 6 {{: https://semver.org} Semantic versioning} is a lovely and simple idea that, 6 7 if it were reliably implemented everywhere, would make life a lot simpler. So,
+1
site/blog/2025/04/this-site.mld
··· 2 2 3 3 @x-ocaml.requires mime_printer 4 4 @published 2025-04-07 5 + @page-tags odoc meta 5 6 6 7 I've spent a {e lot} of time over the past few years working on Odoc, the OCaml documentation 7 8 generator, so when it came time to (re)start my own website and blog, I found it hard to resist
+1
site/blog/2025/05/ai-for-climate-and-nature-day.mld
··· 1 1 {0 AI for Climate & Nature Community Day} 2 2 3 3 @published 2025-05-01 4 + @page-tags ai 4 5 5 6 {{image!melissa.jpg}Melissa Leach} 6 7
+1
site/blog/2025/05/docs-progress.mld
··· 1 1 {0 Progress in OCaml docs} 2 2 3 3 @published 2025-05-29 4 + @page-tags odoc docs-ci 4 5 5 6 The docs build is progress well, and we've {i just about} hit 20,000 packages (20,038 to be precise). 6 7 So at this point I thought it'd be useful to take a look through the various failures to see if there are
+1
site/blog/2025/05/lots-of-things.mld
··· 1 1 {0 Lots of things have been happening} 2 2 3 3 @published 2025-05-20 4 + @page-tags odoc ocaml docs-ci 4 5 5 6 I've been working on a whole lot of thing recently in many different areas, 6 7 making what's felt like only a bit of progress in each. Consequently I've not
+1
site/blog/2025/05/oxcaml-gets-closer.mld
··· 1 1 {0 OxCaml is getting closer...} 2 2 3 3 @published 2025-05-02 4 + @page-tags ocaml 4 5 5 6 I joined the OxCaml weekly meeting representing Tarides for the first time this week, as 6 7 Jane Street gear up to an official release of their OxCaml compiler.
+1
site/blog/2025/05/ticks-solved-by-ai.mld
··· 1 1 {0 Solving First-year OCaml exercises with AI} 2 2 3 3 @published 2025-05-07 4 + @page-tags ai teaching ocaml 4 5 5 6 My colleague {{:https://toao.com}Sadiq Jaffer} and I have been working on a little 6 7 project to see how well small AI models can solve the OCaml exercises we give to
+1
site/blog/2025/06/week23.mld
··· 3 3 @x-ocaml.requires opam-format,fpath,rresult,bos 4 4 @merlinonly 5 5 @published 2025-06-09 6 + @page-tags weeknotes odoc docs-ci 6 7 7 8 Some brief notes on last week. 8 9
+1
site/blog/2025/07/odoc-3-live-on-ocaml-org.mld
··· 1 1 {0 Odoc 3 is live on OCaml.org!} 2 2 3 3 @published 2025-07-14 4 + @page-tags odoc 4 5 5 6 As of today, Odoc 3 is now live on OCaml.org! This is a major update to odoc, and has 6 7 brought a whole host of new features and improvements to the documentation pages.
+1
site/blog/2025/07/retrospective.mld
··· 1 1 {0 4 months in, a retrospective} 2 2 3 3 @published 2025-07-18 4 + @page-tags meta 4 5 5 6 Astonishingly, it's already been {i four whole months} since starting back at the university, 6 7 which I find incredibly hard to believe. I'm utterly convinced that it was only a couple of
+1
site/blog/2025/07/week27.mld
··· 1 1 {0 Weeks 24-27} 2 2 3 3 @published 2025-07-07 4 + @page-tags weeknotes odoc ai 4 5 5 6 It's been a busy few weeks. There's been exam marking for the 1A Foundations of Computer 6 7 Science course, an Odoc release to plan, and some really interesting new work on using
+1
site/blog/2025/07/week28.mld
··· 1 1 {0 Week 28} 2 2 3 3 @published 2025-07-14 4 + @page-tags weeknotes ai 4 5 {1 OCaml MCP server} 5 6 Last week I got the summarisation to the point where it felt useful to run it across all the modules in opam. 6 7 With this completed we then got to try out the MCP server to see how useful it would be in practice.
+1
site/blog/2025/08/ocaml-lsp-mcp.mld
··· 1 1 {0 Using ocaml-lsp-server via an MCP server} 2 2 3 3 @published 2025-08-27 4 + @page-tags ai plugins 4 5 5 6 Here's a quick post on how to get the OCaml Language Server (ocaml-lsp-server) working with an MCP server. 6 7
+1
site/blog/2025/08/ocaml-mcp-server.mld
··· 1 1 {0 An OCaml MCP server} 2 2 3 3 @published 2025-08-20 4 + @page-tags ai plugins 4 5 5 6 6 7 LLMs are proving themselves superbly capable of a variety of coding
+1
site/blog/2025/08/week33.mld
··· 1 1 {0 Week 33} 2 2 3 3 @published 2025-08-19 4 + @page-tags weeknotes ai 4 5 @x-ocaml.requires yojson,jsonm 5 6 6 7 More work this week on the OCaml MCP server. Sadiq and I met before I went away on holiday and discussed
+1
site/blog/2025/09/build-ids-for-day10.mld
··· 1 1 {0 Build IDs for Day10} 2 2 3 3 @published 2025-09-08 4 + @page-tags docs-ci 4 5 5 6 {{:https://tunbury.org}mtelvers}, {{:https://www.dra27.uk/blog/}dra27} and I have been working 6 7 on a system to build opam packages similar to the way that the docs-ci system does - effectively
+1
site/blog/2025/09/caching-opam-solutions.mld
··· 1 1 {0 Caching opam solutions} 2 2 3 3 @published 2025-09-09 4 + @page-tags docs-ci 4 5 5 6 The {{:https://github.com/ocurrent/ocaml-docs-ci}ocaml-docs-ci} system works by watching 6 7 opam-repository for changes, and then when it notices a new package it performs an opam
+1
site/blog/2025/09/caching-opam-solutions2.mld
··· 1 1 {0 Caching opam solutions - part 2} 2 2 3 3 @published 2025-09-23 4 + @page-tags docs-ci 4 5 5 6 Some results from the {{!//blog/2025/09/page-"caching-opam-solutions"}previous post}. 6 7 This time I've run day10 on 144 or so commits from opam-repository to see how well the
+1
site/blog/2025/09/giving-hub-cl-an-upgrade.mld
··· 1 1 {0 Giving hub.cl an upgrade} 2 2 3 3 @published 2025-09-07 4 + @page-tags teaching ocaml 4 5 5 6 For a few years now we've been running [hub.cl.cam.ac.uk], a Jupyterhub instance, for the 6 7 first year course "Foundations of Computer Science". It serves as a hosting site for the
+1
site/blog/2025/09/odoc-bugs.mld
··· 1 1 {0 Odoc bugs} 2 2 3 3 @published 2025-09-22 4 + @page-tags odoc 4 5 @x-ocaml.requires odoc.model 5 6 6 7 This post is a brief write-up of a couple of bugs in odoc that I've been working
+1
site/blog/2025/11/foundations-of-computer-science.mld
··· 1 1 {0 Foundations of Computer Science} 2 2 3 3 @published 2025-11-14 4 + @page-tags teaching ocaml 4 5 5 6 I recently completed lecturing the course 6 7 {{:https://www.cl.cam.ac.uk/teaching/2526/FoundsCS/}"Foundations of Computer
+1
site/blog/2025/12/an-svg-is-all-you-need.mld
··· 1 1 {0 An SVG is all you need} 2 2 3 3 @published 2025-12-09 4 + @page-tags notebooks plugins 4 5 5 6 SVGs are pretty cool - vector graphics in a simple XML format. They are supported on just 6 7 about every device and platform, are crisp on every display, and can have embedded scripts
+1
site/blog/2025/12/claude-and-dune.mld
··· 1 1 {0 Claude and Dune} 2 2 3 3 @published 2025-12-18 4 + @page-tags odoc ai 4 5 5 6 Back in March of this year we released {{:https://ocaml.github.io/odoc/odoc/index.html}odoc 3.0.0}, a 6 7 major new version of the OCaml documentation generator. It had a whole load of {{:https://discuss.ocaml.org/t/ann-odoc-3-beta-release/16043}new features},
+1
site/blog/2026/01/weeknotes-2026-03.mld
··· 1 1 {0 Weeknotes for week 3} 2 2 3 3 @published 2026-01-19 4 + @page-tags weeknotes odoc 4 5 5 6 First week back of 2026! Let's write some terse weeknotes. 6 7
+1
site/blog/2026/01/weeknotes-2026-04-05.mld
··· 1 1 {0 Weeknotes for weeks 4-5} 2 2 3 3 @published 2026-01-30 4 + @page-tags weeknotes odoc ai 4 5 @x-ocaml.requires odoc.extension_api 5 6 @packages odoc-admonition-extension odoc-rfc-extension odoc-msc-extension odoc-mermaid-extension odoc-dot-extension 6 7
+1
site/blog/2026/02/weeknotes-2026-06.mld
··· 1 1 {0 Weeknotes for week 6} 2 2 3 3 @published 2026-02-09 4 + @page-tags weeknotes notebooks 4 5 @x-ocaml.requires odoc.xref2,odoc.loader,odoc.model 5 6 @packages odoc 6 7
+1
site/blog/2026/02/weeknotes-2026-08.mld
··· 2 2 3 3 @notanotebook 4 4 @published 2026-02-24 5 + @page-tags weeknotes ai teaching 5 6 6 7 A combination one again as I took some time off due to school half term. 7 8
+1
site/blog/2026/03/open-source-and-ai.mld
··· 2 2 3 3 @notanotebook 4 4 @published never 5 + @page-tags ai meta 5 6 6 7 I've been doing an awful lot of working with Claude recently, and it's time to reflect a bit on what 7 8 impact these AI agents will be having on software. I'll concentrate on open source software, as that's
+1
site/blog/2026/03/weeknotes-2026-09.mld
··· 1 1 {0 Weeknotes 2026 week 9} 2 2 3 3 @published 2026-03-02 4 + @page-tags weeknotes odoc plugins 4 5 @notanotebook 5 6 6 7 Let's make this really terse!
+1
site/blog/2026/03/weeknotes-2026-10.mld
··· 1 1 {0 Weeknotes 2026 week 10} 2 2 3 3 @published 2026-03-09 4 + @page-tags weeknotes tessera notebooks 4 5 5 6 Here are my weeknotes for the last week, while I'm still writing up 6 7 some more focused posts on some specific topics - like the experience
+1
site/blog/2026/03/weeknotes-2026-11.mld
··· 1 1 {0 Weeknotes 2026 week 11} 2 2 3 3 @published 2026-03-18 4 + @page-tags weeknotes tessera 4 5 @notanotebook 5 6 6 7 {1 What did I do?}
+1
site/blog/2026/03/weeknotes-2026-12.mld
··· 1 1 {0 Weeknotes 2026 week 12} 2 2 3 3 @published 2026-03-23 4 + @page-tags weeknotes tessera 4 5 5 6 {1 What did I do?} 6 7
+1
site/blog/2026/03/weeknotes-2026-13.mld
··· 1 1 {0 Weeknotes 2026 week 13} 2 2 3 3 @published 2026-03-31 4 + @page-tags weeknotes tessera 4 5 5 6 {1 What did I do?} 6 7 I spent rather a long time this week working an a review of the past
+2 -1
site/blog/2026/04/index.mld
··· 1 - @children_order odoc_and_ocaml_notebooks 1 + @children_order weeknotes-2026-15 odoc_and_ocaml_notebooks 2 2 3 3 {0 April} 4 4 5 + - {{!//blog/2026/04/page-"weeknotes-2026-15"}Weeknotes 2026 week 15} 5 6 - {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks}
+1
site/blog/2026/04/odoc_and_ocaml_notebooks.mld
··· 1 1 {0 Odoc and OCaml Notebooks} 2 2 3 3 @published 2026-04-06 4 + @page-tags odoc notebooks tessera 4 5 5 6 As the chief maintainer of OCaml's odoc, I'm required to think hard about 6 7 its future. What impact will advances in {{:https://anil.recoil.org/notes/aoah-2025}agentic programming},
+2
site/blog/2026/04/weeknotes-2026-15.mld
··· 1 1 {0 Weeknotes 2026 week 15} 2 2 3 + @published 2026-04-14 4 + 3 5 Once again, the docs CI went down. This time, something had scribbled over the docker 4 6 partition and so we needed to do a full build from scratch. Fortunately the docs 5 7 themselves were not in a docker volume and so we didn't have to rebuild everything
+1
site/blog/2026/index.mld
··· 2 2 3 3 {0 2026} 4 4 5 + - {{!//blog/2026/04/page-"weeknotes-2026-15"}Weeknotes 2026 week 15} 5 6 - {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks} 6 7 - {{!//blog/2026/03/page-"weeknotes-2026-13"}Weeknotes 2026 week 13} 7 8 - {{!//blog/2026/03/page-"weeknotes-2026-12"}Weeknotes 2026 week 12}
+1
site/blog/index.mld
··· 4 4 5 5 @recent-posts 6 6 {ul 7 + {- {{!//blog/2026/04/page-"weeknotes-2026-15"}Weeknotes 2026 week 15} 2026-04-14} 7 8 {- {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks} 2026-04-06} 8 9 {- {{!//blog/2026/03/page-"weeknotes-2026-13"}Weeknotes 2026 week 13} 2026-03-31} 9 10 {- {{!//blog/2026/03/page-"weeknotes-2026-12"}Weeknotes 2026 week 12} 2026-03-23}
+1 -1
site/dune
··· 26 26 (rule 27 27 (alias runtest) 28 28 (action 29 - (diff dune.inc dune.inc.gen))) 29 + (diff? dune.inc dune.inc.gen)))
+8643 -2
site/dune.inc
··· 80 80 notebooks/oxcaml/local.mld 81 81 projects/index.mld 82 82 reference/index.mld 83 + tags/ai.mld 84 + tags/docs-ci.mld 83 85 tags/index.mld 84 86 tags/meta.mld 87 + tags/notebooks.mld 85 88 tags/ocaml.mld 86 89 tags/odoc.mld 87 90 tags/plugins.mld 91 + tags/teaching.mld 92 + tags/tessera.mld 93 + tags/weeknotes.mld 88 94 blog/2025/05/alice.jpg 89 95 blog/2025/05/amy.jpg 90 96 blog/2025/05/emilio.jpg ··· 833 839 odoc 834 840 compile 835 841 --warn-error 842 + tags/ai.mld 843 + --output-dir 844 + _odoc 845 + --parent-id 846 + tags) 847 + (run 848 + odoc 849 + compile 850 + --warn-error 851 + tags/docs-ci.mld 852 + --output-dir 853 + _odoc 854 + --parent-id 855 + tags) 856 + (run 857 + odoc 858 + compile 859 + --warn-error 836 860 tags/index.mld 837 861 --output-dir 838 862 _odoc ··· 843 867 compile 844 868 --warn-error 845 869 tags/meta.mld 870 + --output-dir 871 + _odoc 872 + --parent-id 873 + tags) 874 + (run 875 + odoc 876 + compile 877 + --warn-error 878 + tags/notebooks.mld 846 879 --output-dir 847 880 _odoc 848 881 --parent-id ··· 870 903 compile 871 904 --warn-error 872 905 tags/plugins.mld 906 + --output-dir 907 + _odoc 908 + --parent-id 909 + tags) 910 + (run 911 + odoc 912 + compile 913 + --warn-error 914 + tags/teaching.mld 915 + --output-dir 916 + _odoc 917 + --parent-id 918 + tags) 919 + (run 920 + odoc 921 + compile 922 + --warn-error 923 + tags/tessera.mld 924 + --output-dir 925 + _odoc 926 + --parent-id 927 + tags) 928 + (run 929 + odoc 930 + compile 931 + --warn-error 932 + tags/weeknotes.mld 873 933 --output-dir 874 934 _odoc 875 935 --parent-id ··· 96539 96599 odoc 96540 96600 link 96541 96601 --warn-error 96602 + _odoc/tags/page-ai.odoc 96603 + -P 96604 + site:_odoc 96605 + -P 96606 + angstrom:../_doc/_odoc/reference/angstrom 96607 + -P 96608 + angstrom-async:../_doc/_odoc/reference/angstrom-async 96609 + -P 96610 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 96611 + -P 96612 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 96613 + -P 96614 + astring:../_doc/_odoc/reference/astring 96615 + -P 96616 + async:../_doc/_odoc/reference/async 96617 + -P 96618 + async_kernel:../_doc/_odoc/reference/async_kernel 96619 + -P 96620 + async_log:../_doc/_odoc/reference/async_log 96621 + -P 96622 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 96623 + -P 96624 + async_unix:../_doc/_odoc/reference/async_unix 96625 + -P 96626 + base64:../_doc/_odoc/reference/base64 96627 + -P 96628 + base:../_doc/_odoc/reference/base 96629 + -P 96630 + base_bigstring:../_doc/_odoc/reference/base_bigstring 96631 + -P 96632 + basement:../_doc/_odoc/reference/basement 96633 + -P 96634 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 96635 + -P 96636 + bigstringaf:../_doc/_odoc/reference/bigstringaf 96637 + -P 96638 + bin_prot:../_doc/_odoc/reference/bin_prot 96639 + -P 96640 + bos:../_doc/_odoc/reference/bos 96641 + -P 96642 + brr:../_doc/_odoc/reference/brr 96643 + -P 96644 + camlp-streams:../_doc/_odoc/reference/camlp-streams 96645 + -P 96646 + capsule0:../_doc/_odoc/reference/capsule0 96647 + -P 96648 + capsule:../_doc/_odoc/reference/capsule 96649 + -P 96650 + cmdliner:../_doc/_odoc/reference/cmdliner 96651 + -P 96652 + code-mirror:../_doc/_odoc/reference/code-mirror 96653 + -P 96654 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 96655 + -P 96656 + core:../_doc/_odoc/reference/core 96657 + -P 96658 + core_extended:../_doc/_odoc/reference/core_extended 96659 + -P 96660 + core_kernel:../_doc/_odoc/reference/core_kernel 96661 + -P 96662 + core_unix:../_doc/_odoc/reference/core_unix 96663 + -P 96664 + csexp:../_doc/_odoc/reference/csexp 96665 + -P 96666 + cstruct:../_doc/_odoc/reference/cstruct 96667 + -P 96668 + decompress:../_doc/_odoc/reference/decompress 96669 + -P 96670 + odoc:../_doc/_odoc/reference/odoc 96671 + -P 96672 + domain-local-await:../_doc/_odoc/reference/domain-local-await 96673 + -P 96674 + eio:../_doc/_odoc/reference/eio 96675 + -P 96676 + eio_linux:../_doc/_odoc/reference/eio_linux 96677 + -P 96678 + eio_main:../_doc/_odoc/reference/eio_main 96679 + -P 96680 + eio_posix:../_doc/_odoc/reference/eio_posix 96681 + -P 96682 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 96683 + -P 96684 + fieldslib:../_doc/_odoc/reference/fieldslib 96685 + -P 96686 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 96687 + -P 96688 + fmt:../_doc/_odoc/reference/fmt 96689 + -P 96690 + fpath:../_doc/_odoc/reference/fpath 96691 + -P 96692 + gen:../_doc/_odoc/reference/gen 96693 + -P 96694 + hmap:../_doc/_odoc/reference/hmap 96695 + -P 96696 + int_repr:../_doc/_odoc/reference/int_repr 96697 + -P 96698 + iomux:../_doc/_odoc/reference/iomux 96699 + -P 96700 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 96701 + -P 96702 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 96703 + -P 96704 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 96705 + -P 96706 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 96707 + -P 96708 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 96709 + -P 96710 + jsonm:../_doc/_odoc/reference/jsonm 96711 + -P 96712 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 96713 + -P 96714 + js_top_worker:../_doc/_odoc/reference/js_top_worker 96715 + -P 96716 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 96717 + -P 96718 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 96719 + -P 96720 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 96721 + -P 96722 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 96723 + -P 96724 + logs:../_doc/_odoc/reference/logs 96725 + -P 96726 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 96727 + -P 96728 + lwt:../_doc/_odoc/reference/lwt 96729 + -P 96730 + menhirLib:../_doc/_odoc/reference/menhirLib 96731 + -P 96732 + merlin-js:../_doc/_odoc/reference/merlin-js 96733 + -P 96734 + merlin-lib:../_doc/_odoc/reference/merlin-lib 96735 + -P 96736 + mime_printer:../_doc/_odoc/reference/mime_printer 96737 + -P 96738 + mtime:../_doc/_odoc/reference/mtime 96739 + -P 96740 + note:../_doc/_odoc/reference/note 96741 + -P 96742 + num:../_doc/_odoc/reference/num 96743 + -P 96744 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 96745 + -P 96746 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 96747 + -P 96748 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 96749 + -P 96750 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 96751 + -P 96752 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 96753 + -P 96754 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 96755 + -P 96756 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 96757 + -P 96758 + odoc-driver:../_doc/_odoc/reference/odoc-driver 96759 + -P 96760 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 96761 + -P 96762 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 96763 + -P 96764 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 96765 + -P 96766 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 96767 + -P 96768 + odoc-parser:../_doc/_odoc/reference/odoc-parser 96769 + -P 96770 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 96771 + -P 96772 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 96773 + -P 96774 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 96775 + -P 96776 + onnxrt:../_doc/_odoc/reference/onnxrt 96777 + -P 96778 + opam-core:../_doc/_odoc/reference/opam-core 96779 + -P 96780 + opam-file-format:../_doc/_odoc/reference/opam-file-format 96781 + -P 96782 + opam-format:../_doc/_odoc/reference/opam-format 96783 + -P 96784 + optint:../_doc/_odoc/reference/optint 96785 + -P 96786 + parsexp:../_doc/_odoc/reference/parsexp 96787 + -P 96788 + patch:../_doc/_odoc/reference/patch 96789 + -P 96790 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 96791 + -P 96792 + portable:../_doc/_odoc/reference/portable 96793 + -P 96794 + ppx_assert:../_doc/_odoc/reference/ppx_assert 96795 + -P 96796 + ppx_bench:../_doc/_odoc/reference/ppx_bench 96797 + -P 96798 + ppx_compare:../_doc/_odoc/reference/ppx_compare 96799 + -P 96800 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 96801 + -P 96802 + ppx_diff:../_doc/_odoc/reference/ppx_diff 96803 + -P 96804 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 96805 + -P 96806 + ppx_expect:../_doc/_odoc/reference/ppx_expect 96807 + -P 96808 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 96809 + -P 96810 + ppx_hash:../_doc/_odoc/reference/ppx_hash 96811 + -P 96812 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 96813 + -P 96814 + ppx_here:../_doc/_odoc/reference/ppx_here 96815 + -P 96816 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 96817 + -P 96818 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 96819 + -P 96820 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 96821 + -P 96822 + ppxlib:../_doc/_odoc/reference/ppxlib 96823 + -P 96824 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 96825 + -P 96826 + ppx_log:../_doc/_odoc/reference/ppx_log 96827 + -P 96828 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 96829 + -P 96830 + ppx_portable:../_doc/_odoc/reference/ppx_portable 96831 + -P 96832 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 96833 + -P 96834 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 96835 + -P 96836 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 96837 + -P 96838 + ppx_string:../_doc/_odoc/reference/ppx_string 96839 + -P 96840 + ppx_template:../_doc/_odoc/reference/ppx_template 96841 + -P 96842 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 96843 + -P 96844 + progress:../_doc/_odoc/reference/progress 96845 + -P 96846 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 96847 + -P 96848 + psq:../_doc/_odoc/reference/psq 96849 + -P 96850 + record_builder:../_doc/_odoc/reference/record_builder 96851 + -P 96852 + re:../_doc/_odoc/reference/re 96853 + -P 96854 + rresult:../_doc/_odoc/reference/rresult 96855 + -P 96856 + sedlex:../_doc/_odoc/reference/sedlex 96857 + -P 96858 + sexplib0:../_doc/_odoc/reference/sexplib0 96859 + -P 96860 + sexplib:../_doc/_odoc/reference/sexplib 96861 + -P 96862 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 96863 + -P 96864 + sexp_type:../_doc/_odoc/reference/sexp_type 96865 + -P 96866 + sha:../_doc/_odoc/reference/sha 96867 + -P 96868 + sherlodoc:../_doc/_odoc/reference/sherlodoc 96869 + -P 96870 + spawn:../_doc/_odoc/reference/spawn 96871 + -P 96872 + splittable_random:../_doc/_odoc/reference/splittable_random 96873 + -P 96874 + stdio:../_doc/_odoc/reference/stdio 96875 + -P 96876 + string_dict:../_doc/_odoc/reference/string_dict 96877 + -P 96878 + stringext:../_doc/_odoc/reference/stringext 96879 + -P 96880 + swhid_core:../_doc/_odoc/reference/swhid_core 96881 + -P 96882 + terminal:../_doc/_odoc/reference/terminal 96883 + -P 96884 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 96885 + -P 96886 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 96887 + -P 96888 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 96889 + -P 96890 + tessera-npy:../_doc/_odoc/reference/tessera-npy 96891 + -P 96892 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 96893 + -P 96894 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 96895 + -P 96896 + tessera-viz:../_doc/_odoc/reference/tessera-viz 96897 + -P 96898 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 96899 + -P 96900 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 96901 + -P 96902 + textutils:../_doc/_odoc/reference/textutils 96903 + -P 96904 + thread-table:../_doc/_odoc/reference/thread-table 96905 + -P 96906 + time_now:../_doc/_odoc/reference/time_now 96907 + -P 96908 + typerep:../_doc/_odoc/reference/typerep 96909 + -P 96910 + tyxml:../_doc/_odoc/reference/tyxml 96911 + -P 96912 + unique:../_doc/_odoc/reference/unique 96913 + -P 96914 + univ_map:../_doc/_odoc/reference/univ_map 96915 + -P 96916 + uopt:../_doc/_odoc/reference/uopt 96917 + -P 96918 + uring:../_doc/_odoc/reference/uring 96919 + -P 96920 + uri:../_doc/_odoc/reference/uri 96921 + -P 96922 + uucp:../_doc/_odoc/reference/uucp 96923 + -P 96924 + uutf:../_doc/_odoc/reference/uutf 96925 + -P 96926 + variantslib:../_doc/_odoc/reference/variantslib 96927 + -P 96928 + x-ocaml:../_doc/_odoc/reference/x-ocaml 96929 + -P 96930 + yojson:../_doc/_odoc/reference/yojson 96931 + -P 96932 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 96933 + -P 96934 + zarr-v3:../_doc/_odoc/reference/zarr-v3 96935 + -L 96936 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 96937 + -L 96938 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 96939 + -L 96940 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 96941 + -L 96942 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 96943 + -L 96944 + astring:../_doc/_odoc/reference/astring/astring 96945 + -L 96946 + async:../_doc/_odoc/reference/async/async 96947 + -L 96948 + async.async_command:../_doc/_odoc/reference/async/async.async_command 96949 + -L 96950 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 96951 + -L 96952 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 96953 + -L 96954 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 96955 + -L 96956 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 96957 + -L 96958 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 96959 + -L 96960 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 96961 + -L 96962 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 96963 + -L 96964 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 96965 + -L 96966 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 96967 + -L 96968 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 96969 + -L 96970 + async_log:../_doc/_odoc/reference/async_log/async_log 96971 + -L 96972 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 96973 + -L 96974 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 96975 + -L 96976 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 96977 + -L 96978 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 96979 + -L 96980 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 96981 + -L 96982 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 96983 + -L 96984 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 96985 + -L 96986 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 96987 + -L 96988 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 96989 + -L 96990 + base64:../_doc/_odoc/reference/base64/base64 96991 + -L 96992 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 96993 + -L 96994 + base:../_doc/_odoc/reference/base/base 96995 + -L 96996 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 96997 + -L 96998 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 96999 + -L 97000 + base.md5:../_doc/_odoc/reference/base/base.md5 97001 + -L 97002 + basement:../_doc/_odoc/reference/basement/basement 97003 + -L 97004 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 97005 + -L 97006 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 97007 + -L 97008 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 97009 + -L 97010 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 97011 + -L 97012 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 97013 + -L 97014 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 97015 + -L 97016 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 97017 + -L 97018 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 97019 + -L 97020 + bos:../_doc/_odoc/reference/bos/bos 97021 + -L 97022 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 97023 + -L 97024 + brr:../_doc/_odoc/reference/brr/brr 97025 + -L 97026 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 97027 + -L 97028 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 97029 + -L 97030 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 97031 + -L 97032 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 97033 + -L 97034 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 97035 + -L 97036 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 97037 + -L 97038 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 97039 + -L 97040 + capsule:../_doc/_odoc/reference/capsule/capsule 97041 + -L 97042 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 97043 + -L 97044 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 97045 + -L 97046 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 97047 + -L 97048 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 97049 + -L 97050 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 97051 + -L 97052 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 97053 + -L 97054 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 97055 + -L 97056 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 97057 + -L 97058 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 97059 + -L 97060 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 97061 + -L 97062 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 97063 + -L 97064 + core.command:../_doc/_odoc/reference/core/core.command 97065 + -L 97066 + core:../_doc/_odoc/reference/core/core 97067 + -L 97068 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 97069 + -L 97070 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 97071 + -L 97072 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 97073 + -L 97074 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 97075 + -L 97076 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 97077 + -L 97078 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 97079 + -L 97080 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 97081 + -L 97082 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 97083 + -L 97084 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 97085 + -L 97086 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 97087 + -L 97088 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 97089 + -L 97090 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 97091 + -L 97092 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 97093 + -L 97094 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 97095 + -L 97096 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 97097 + -L 97098 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 97099 + -L 97100 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 97101 + -L 97102 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 97103 + -L 97104 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 97105 + -L 97106 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 97107 + -L 97108 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 97109 + -L 97110 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 97111 + -L 97112 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 97113 + -L 97114 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 97115 + -L 97116 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 97117 + -L 97118 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 97119 + -L 97120 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 97121 + -L 97122 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 97123 + -L 97124 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 97125 + -L 97126 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 97127 + -L 97128 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 97129 + -L 97130 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 97131 + -L 97132 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 97133 + -L 97134 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 97135 + -L 97136 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 97137 + -L 97138 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 97139 + -L 97140 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 97141 + -L 97142 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 97143 + -L 97144 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 97145 + -L 97146 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 97147 + -L 97148 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 97149 + -L 97150 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 97151 + -L 97152 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 97153 + -L 97154 + core.top:../_doc/_odoc/reference/core/core.top 97155 + -L 97156 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 97157 + -L 97158 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 97159 + -L 97160 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 97161 + -L 97162 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 97163 + -L 97164 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 97165 + -L 97166 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 97167 + -L 97168 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 97169 + -L 97170 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 97171 + -L 97172 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 97173 + -L 97174 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 97175 + -L 97176 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 97177 + -L 97178 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 97179 + -L 97180 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 97181 + -L 97182 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 97183 + -L 97184 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 97185 + -L 97186 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 97187 + -L 97188 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 97189 + -L 97190 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 97191 + -L 97192 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 97193 + -L 97194 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 97195 + -L 97196 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 97197 + -L 97198 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 97199 + -L 97200 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 97201 + -L 97202 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 97203 + -L 97204 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 97205 + -L 97206 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 97207 + -L 97208 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 97209 + -L 97210 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 97211 + -L 97212 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 97213 + -L 97214 + core.validate:../_doc/_odoc/reference/core/core.validate 97215 + -L 97216 + csexp:../_doc/_odoc/reference/csexp/csexp 97217 + -L 97218 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 97219 + -L 97220 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 97221 + -L 97222 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 97223 + -L 97224 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 97225 + -L 97226 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 97227 + -L 97228 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 97229 + -L 97230 + deprecated:../_doc/_odoc/reference/odoc/deprecated 97231 + -L 97232 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 97233 + -L 97234 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 97235 + -L 97236 + eio.core:../_doc/_odoc/reference/eio/eio.core 97237 + -L 97238 + eio:../_doc/_odoc/reference/eio/eio 97239 + -L 97240 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 97241 + -L 97242 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 97243 + -L 97244 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 97245 + -L 97246 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 97247 + -L 97248 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 97249 + -L 97250 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 97251 + -L 97252 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 97253 + -L 97254 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 97255 + -L 97256 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 97257 + -L 97258 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 97259 + -L 97260 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 97261 + -L 97262 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 97263 + -L 97264 + fmt:../_doc/_odoc/reference/fmt/fmt 97265 + -L 97266 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 97267 + -L 97268 + fpath:../_doc/_odoc/reference/fpath/fpath 97269 + -L 97270 + gen:../_doc/_odoc/reference/gen/gen 97271 + -L 97272 + hmap:../_doc/_odoc/reference/hmap/hmap 97273 + -L 97274 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 97275 + -L 97276 + iomux:../_doc/_odoc/reference/iomux/iomux 97277 + -L 97278 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 97279 + -L 97280 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 97281 + -L 97282 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 97283 + -L 97284 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 97285 + -L 97286 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 97287 + -L 97288 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 97289 + -L 97290 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 97291 + -L 97292 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 97293 + -L 97294 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 97295 + -L 97296 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 97297 + -L 97298 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 97299 + -L 97300 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 97301 + -L 97302 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 97303 + -L 97304 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 97305 + -L 97306 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 97307 + -L 97308 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 97309 + -L 97310 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 97311 + -L 97312 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 97313 + -L 97314 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 97315 + -L 97316 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 97317 + -L 97318 + logs:../_doc/_odoc/reference/logs/logs 97319 + -L 97320 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 97321 + -L 97322 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 97323 + -L 97324 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 97325 + -L 97326 + lwt:../_doc/_odoc/reference/lwt/lwt 97327 + -L 97328 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 97329 + -L 97330 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 97331 + -L 97332 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 97333 + -L 97334 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 97335 + -L 97336 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 97337 + -L 97338 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 97339 + -L 97340 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 97341 + -L 97342 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 97343 + -L 97344 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 97345 + -L 97346 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 97347 + -L 97348 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 97349 + -L 97350 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 97351 + -L 97352 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 97353 + -L 97354 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 97355 + -L 97356 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 97357 + -L 97358 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 97359 + -L 97360 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 97361 + -L 97362 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 97363 + -L 97364 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 97365 + -L 97366 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 97367 + -L 97368 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 97369 + -L 97370 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 97371 + -L 97372 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 97373 + -L 97374 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 97375 + -L 97376 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 97377 + -L 97378 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 97379 + -L 97380 + mtime:../_doc/_odoc/reference/mtime/mtime 97381 + -L 97382 + note.brr:../_doc/_odoc/reference/note/note.brr 97383 + -L 97384 + note:../_doc/_odoc/reference/note/note 97385 + -L 97386 + num.core:../_doc/_odoc/reference/num/num.core 97387 + -L 97388 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 97389 + -L 97390 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 97391 + -L 97392 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 97393 + -L 97394 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 97395 + -L 97396 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 97397 + -L 97398 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 97399 + -L 97400 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 97401 + -L 97402 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 97403 + -L 97404 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 97405 + -L 97406 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 97407 + -L 97408 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 97409 + -L 97410 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 97411 + -L 97412 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 97413 + -L 97414 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 97415 + -L 97416 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 97417 + -L 97418 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 97419 + -L 97420 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 97421 + -L 97422 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 97423 + -L 97424 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 97425 + -L 97426 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 97427 + -L 97428 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 97429 + -L 97430 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 97431 + -L 97432 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 97433 + -L 97434 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 97435 + -L 97436 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 97437 + -L 97438 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 97439 + -L 97440 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 97441 + -L 97442 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 97443 + -L 97444 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 97445 + -L 97446 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 97447 + -L 97448 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 97449 + -L 97450 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 97451 + -L 97452 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 97453 + -L 97454 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 97455 + -L 97456 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 97457 + -L 97458 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 97459 + -L 97460 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 97461 + -L 97462 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 97463 + -L 97464 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 97465 + -L 97466 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 97467 + -L 97468 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 97469 + -L 97470 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 97471 + -L 97472 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 97473 + -L 97474 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 97475 + -L 97476 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 97477 + -L 97478 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 97479 + -L 97480 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 97481 + -L 97482 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 97483 + -L 97484 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 97485 + -L 97486 + optint:../_doc/_odoc/reference/optint/optint 97487 + -L 97488 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 97489 + -L 97490 + patch:../_doc/_odoc/reference/patch/patch 97491 + -L 97492 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 97493 + -L 97494 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 97495 + -L 97496 + portable.common:../_doc/_odoc/reference/portable/portable.common 97497 + -L 97498 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 97499 + -L 97500 + portable:../_doc/_odoc/reference/portable/portable 97501 + -L 97502 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 97503 + -L 97504 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 97505 + -L 97506 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 97507 + -L 97508 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 97509 + -L 97510 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 97511 + -L 97512 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 97513 + -L 97514 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 97515 + -L 97516 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 97517 + -L 97518 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 97519 + -L 97520 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 97521 + -L 97522 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 97523 + -L 97524 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 97525 + -L 97526 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 97527 + -L 97528 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 97529 + -L 97530 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 97531 + -L 97532 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 97533 + -L 97534 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 97535 + -L 97536 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 97537 + -L 97538 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 97539 + -L 97540 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 97541 + -L 97542 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 97543 + -L 97544 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 97545 + -L 97546 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 97547 + -L 97548 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 97549 + -L 97550 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 97551 + -L 97552 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 97553 + -L 97554 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 97555 + -L 97556 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 97557 + -L 97558 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 97559 + -L 97560 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 97561 + -L 97562 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 97563 + -L 97564 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 97565 + -L 97566 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 97567 + -L 97568 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 97569 + -L 97570 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 97571 + -L 97572 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 97573 + -L 97574 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 97575 + -L 97576 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 97577 + -L 97578 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 97579 + -L 97580 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 97581 + -L 97582 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 97583 + -L 97584 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 97585 + -L 97586 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 97587 + -L 97588 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 97589 + -L 97590 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 97591 + -L 97592 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 97593 + -L 97594 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 97595 + -L 97596 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 97597 + -L 97598 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 97599 + -L 97600 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 97601 + -L 97602 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 97603 + -L 97604 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 97605 + -L 97606 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 97607 + -L 97608 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 97609 + -L 97610 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 97611 + -L 97612 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 97613 + -L 97614 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 97615 + -L 97616 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 97617 + -L 97618 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 97619 + -L 97620 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 97621 + -L 97622 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 97623 + -L 97624 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 97625 + -L 97626 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 97627 + -L 97628 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 97629 + -L 97630 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 97631 + -L 97632 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 97633 + -L 97634 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 97635 + -L 97636 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 97637 + -L 97638 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 97639 + -L 97640 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 97641 + -L 97642 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 97643 + -L 97644 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 97645 + -L 97646 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 97647 + -L 97648 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 97649 + -L 97650 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 97651 + -L 97652 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 97653 + -L 97654 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 97655 + -L 97656 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 97657 + -L 97658 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 97659 + -L 97660 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 97661 + -L 97662 + progress:../_doc/_odoc/reference/progress/progress 97663 + -L 97664 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 97665 + -L 97666 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 97667 + -L 97668 + psq:../_doc/_odoc/reference/psq/psq 97669 + -L 97670 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 97671 + -L 97672 + re.emacs:../_doc/_odoc/reference/re/re.emacs 97673 + -L 97674 + re.glob:../_doc/_odoc/reference/re/re.glob 97675 + -L 97676 + re.pcre:../_doc/_odoc/reference/re/re.pcre 97677 + -L 97678 + re.perl:../_doc/_odoc/reference/re/re.perl 97679 + -L 97680 + re.posix:../_doc/_odoc/reference/re/re.posix 97681 + -L 97682 + re:../_doc/_odoc/reference/re/re 97683 + -L 97684 + re.str:../_doc/_odoc/reference/re/re.str 97685 + -L 97686 + rresult:../_doc/_odoc/reference/rresult/rresult 97687 + -L 97688 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 97689 + -L 97690 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 97691 + -L 97692 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 97693 + -L 97694 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 97695 + -L 97696 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 97697 + -L 97698 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 97699 + -L 97700 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 97701 + -L 97702 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 97703 + -L 97704 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 97705 + -L 97706 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 97707 + -L 97708 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 97709 + -L 97710 + sha:../_doc/_odoc/reference/sha/sha 97711 + -L 97712 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 97713 + -L 97714 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 97715 + -L 97716 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 97717 + -L 97718 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 97719 + -L 97720 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 97721 + -L 97722 + spawn:../_doc/_odoc/reference/spawn/spawn 97723 + -L 97724 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 97725 + -L 97726 + stdio:../_doc/_odoc/reference/stdio/stdio 97727 + -L 97728 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 97729 + -L 97730 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 97731 + -L 97732 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 97733 + -L 97734 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 97735 + -L 97736 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 97737 + -L 97738 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 97739 + -L 97740 + stringext:../_doc/_odoc/reference/stringext/stringext 97741 + -L 97742 + str:../_doc/_odoc/reference/ocaml-variants/str 97743 + -L 97744 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 97745 + -L 97746 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 97747 + -L 97748 + terminal:../_doc/_odoc/reference/terminal/terminal 97749 + -L 97750 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 97751 + -L 97752 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 97753 + -L 97754 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 97755 + -L 97756 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 97757 + -L 97758 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 97759 + -L 97760 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 97761 + -L 97762 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 97763 + -L 97764 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 97765 + -L 97766 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 97767 + -L 97768 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 97769 + -L 97770 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 97771 + -L 97772 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 97773 + -L 97774 + threads:../_doc/_odoc/reference/ocaml-variants/threads 97775 + -L 97776 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 97777 + -L 97778 + time_now:../_doc/_odoc/reference/time_now/time_now 97779 + -L 97780 + typerep:../_doc/_odoc/reference/typerep/typerep 97781 + -L 97782 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 97783 + -L 97784 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 97785 + -L 97786 + unique:../_doc/_odoc/reference/unique/unique 97787 + -L 97788 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 97789 + -L 97790 + unix:../_doc/_odoc/reference/ocaml-variants/unix 97791 + -L 97792 + uopt:../_doc/_odoc/reference/uopt/uopt 97793 + -L 97794 + uring:../_doc/_odoc/reference/uring/uring 97795 + -L 97796 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 97797 + -L 97798 + uri.services:../_doc/_odoc/reference/uri/uri.services 97799 + -L 97800 + uri:../_doc/_odoc/reference/uri/uri 97801 + -L 97802 + uucp:../_doc/_odoc/reference/uucp/uucp 97803 + -L 97804 + uutf:../_doc/_odoc/reference/uutf/uutf 97805 + -L 97806 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 97807 + -L 97808 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 97809 + -L 97810 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 97811 + -L 97812 + yojson:../_doc/_odoc/reference/yojson/yojson 97813 + -L 97814 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 97815 + -L 97816 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 97817 + -o 97818 + _odoc/tags/page-ai.odocl) 97819 + (run 97820 + odoc 97821 + link 97822 + --warn-error 97823 + _odoc/tags/page-docs-ci.odoc 97824 + -P 97825 + site:_odoc 97826 + -P 97827 + angstrom:../_doc/_odoc/reference/angstrom 97828 + -P 97829 + angstrom-async:../_doc/_odoc/reference/angstrom-async 97830 + -P 97831 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 97832 + -P 97833 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 97834 + -P 97835 + astring:../_doc/_odoc/reference/astring 97836 + -P 97837 + async:../_doc/_odoc/reference/async 97838 + -P 97839 + async_kernel:../_doc/_odoc/reference/async_kernel 97840 + -P 97841 + async_log:../_doc/_odoc/reference/async_log 97842 + -P 97843 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 97844 + -P 97845 + async_unix:../_doc/_odoc/reference/async_unix 97846 + -P 97847 + base64:../_doc/_odoc/reference/base64 97848 + -P 97849 + base:../_doc/_odoc/reference/base 97850 + -P 97851 + base_bigstring:../_doc/_odoc/reference/base_bigstring 97852 + -P 97853 + basement:../_doc/_odoc/reference/basement 97854 + -P 97855 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 97856 + -P 97857 + bigstringaf:../_doc/_odoc/reference/bigstringaf 97858 + -P 97859 + bin_prot:../_doc/_odoc/reference/bin_prot 97860 + -P 97861 + bos:../_doc/_odoc/reference/bos 97862 + -P 97863 + brr:../_doc/_odoc/reference/brr 97864 + -P 97865 + camlp-streams:../_doc/_odoc/reference/camlp-streams 97866 + -P 97867 + capsule0:../_doc/_odoc/reference/capsule0 97868 + -P 97869 + capsule:../_doc/_odoc/reference/capsule 97870 + -P 97871 + cmdliner:../_doc/_odoc/reference/cmdliner 97872 + -P 97873 + code-mirror:../_doc/_odoc/reference/code-mirror 97874 + -P 97875 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 97876 + -P 97877 + core:../_doc/_odoc/reference/core 97878 + -P 97879 + core_extended:../_doc/_odoc/reference/core_extended 97880 + -P 97881 + core_kernel:../_doc/_odoc/reference/core_kernel 97882 + -P 97883 + core_unix:../_doc/_odoc/reference/core_unix 97884 + -P 97885 + csexp:../_doc/_odoc/reference/csexp 97886 + -P 97887 + cstruct:../_doc/_odoc/reference/cstruct 97888 + -P 97889 + decompress:../_doc/_odoc/reference/decompress 97890 + -P 97891 + odoc:../_doc/_odoc/reference/odoc 97892 + -P 97893 + domain-local-await:../_doc/_odoc/reference/domain-local-await 97894 + -P 97895 + eio:../_doc/_odoc/reference/eio 97896 + -P 97897 + eio_linux:../_doc/_odoc/reference/eio_linux 97898 + -P 97899 + eio_main:../_doc/_odoc/reference/eio_main 97900 + -P 97901 + eio_posix:../_doc/_odoc/reference/eio_posix 97902 + -P 97903 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 97904 + -P 97905 + fieldslib:../_doc/_odoc/reference/fieldslib 97906 + -P 97907 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 97908 + -P 97909 + fmt:../_doc/_odoc/reference/fmt 97910 + -P 97911 + fpath:../_doc/_odoc/reference/fpath 97912 + -P 97913 + gen:../_doc/_odoc/reference/gen 97914 + -P 97915 + hmap:../_doc/_odoc/reference/hmap 97916 + -P 97917 + int_repr:../_doc/_odoc/reference/int_repr 97918 + -P 97919 + iomux:../_doc/_odoc/reference/iomux 97920 + -P 97921 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 97922 + -P 97923 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 97924 + -P 97925 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 97926 + -P 97927 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 97928 + -P 97929 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 97930 + -P 97931 + jsonm:../_doc/_odoc/reference/jsonm 97932 + -P 97933 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 97934 + -P 97935 + js_top_worker:../_doc/_odoc/reference/js_top_worker 97936 + -P 97937 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 97938 + -P 97939 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 97940 + -P 97941 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 97942 + -P 97943 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 97944 + -P 97945 + logs:../_doc/_odoc/reference/logs 97946 + -P 97947 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 97948 + -P 97949 + lwt:../_doc/_odoc/reference/lwt 97950 + -P 97951 + menhirLib:../_doc/_odoc/reference/menhirLib 97952 + -P 97953 + merlin-js:../_doc/_odoc/reference/merlin-js 97954 + -P 97955 + merlin-lib:../_doc/_odoc/reference/merlin-lib 97956 + -P 97957 + mime_printer:../_doc/_odoc/reference/mime_printer 97958 + -P 97959 + mtime:../_doc/_odoc/reference/mtime 97960 + -P 97961 + note:../_doc/_odoc/reference/note 97962 + -P 97963 + num:../_doc/_odoc/reference/num 97964 + -P 97965 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 97966 + -P 97967 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 97968 + -P 97969 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 97970 + -P 97971 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 97972 + -P 97973 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 97974 + -P 97975 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 97976 + -P 97977 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 97978 + -P 97979 + odoc-driver:../_doc/_odoc/reference/odoc-driver 97980 + -P 97981 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 97982 + -P 97983 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 97984 + -P 97985 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 97986 + -P 97987 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 97988 + -P 97989 + odoc-parser:../_doc/_odoc/reference/odoc-parser 97990 + -P 97991 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 97992 + -P 97993 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 97994 + -P 97995 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 97996 + -P 97997 + onnxrt:../_doc/_odoc/reference/onnxrt 97998 + -P 97999 + opam-core:../_doc/_odoc/reference/opam-core 98000 + -P 98001 + opam-file-format:../_doc/_odoc/reference/opam-file-format 98002 + -P 98003 + opam-format:../_doc/_odoc/reference/opam-format 98004 + -P 98005 + optint:../_doc/_odoc/reference/optint 98006 + -P 98007 + parsexp:../_doc/_odoc/reference/parsexp 98008 + -P 98009 + patch:../_doc/_odoc/reference/patch 98010 + -P 98011 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 98012 + -P 98013 + portable:../_doc/_odoc/reference/portable 98014 + -P 98015 + ppx_assert:../_doc/_odoc/reference/ppx_assert 98016 + -P 98017 + ppx_bench:../_doc/_odoc/reference/ppx_bench 98018 + -P 98019 + ppx_compare:../_doc/_odoc/reference/ppx_compare 98020 + -P 98021 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 98022 + -P 98023 + ppx_diff:../_doc/_odoc/reference/ppx_diff 98024 + -P 98025 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 98026 + -P 98027 + ppx_expect:../_doc/_odoc/reference/ppx_expect 98028 + -P 98029 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 98030 + -P 98031 + ppx_hash:../_doc/_odoc/reference/ppx_hash 98032 + -P 98033 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 98034 + -P 98035 + ppx_here:../_doc/_odoc/reference/ppx_here 98036 + -P 98037 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 98038 + -P 98039 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 98040 + -P 98041 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 98042 + -P 98043 + ppxlib:../_doc/_odoc/reference/ppxlib 98044 + -P 98045 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 98046 + -P 98047 + ppx_log:../_doc/_odoc/reference/ppx_log 98048 + -P 98049 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 98050 + -P 98051 + ppx_portable:../_doc/_odoc/reference/ppx_portable 98052 + -P 98053 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 98054 + -P 98055 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 98056 + -P 98057 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 98058 + -P 98059 + ppx_string:../_doc/_odoc/reference/ppx_string 98060 + -P 98061 + ppx_template:../_doc/_odoc/reference/ppx_template 98062 + -P 98063 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 98064 + -P 98065 + progress:../_doc/_odoc/reference/progress 98066 + -P 98067 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 98068 + -P 98069 + psq:../_doc/_odoc/reference/psq 98070 + -P 98071 + record_builder:../_doc/_odoc/reference/record_builder 98072 + -P 98073 + re:../_doc/_odoc/reference/re 98074 + -P 98075 + rresult:../_doc/_odoc/reference/rresult 98076 + -P 98077 + sedlex:../_doc/_odoc/reference/sedlex 98078 + -P 98079 + sexplib0:../_doc/_odoc/reference/sexplib0 98080 + -P 98081 + sexplib:../_doc/_odoc/reference/sexplib 98082 + -P 98083 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 98084 + -P 98085 + sexp_type:../_doc/_odoc/reference/sexp_type 98086 + -P 98087 + sha:../_doc/_odoc/reference/sha 98088 + -P 98089 + sherlodoc:../_doc/_odoc/reference/sherlodoc 98090 + -P 98091 + spawn:../_doc/_odoc/reference/spawn 98092 + -P 98093 + splittable_random:../_doc/_odoc/reference/splittable_random 98094 + -P 98095 + stdio:../_doc/_odoc/reference/stdio 98096 + -P 98097 + string_dict:../_doc/_odoc/reference/string_dict 98098 + -P 98099 + stringext:../_doc/_odoc/reference/stringext 98100 + -P 98101 + swhid_core:../_doc/_odoc/reference/swhid_core 98102 + -P 98103 + terminal:../_doc/_odoc/reference/terminal 98104 + -P 98105 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 98106 + -P 98107 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 98108 + -P 98109 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 98110 + -P 98111 + tessera-npy:../_doc/_odoc/reference/tessera-npy 98112 + -P 98113 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 98114 + -P 98115 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 98116 + -P 98117 + tessera-viz:../_doc/_odoc/reference/tessera-viz 98118 + -P 98119 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 98120 + -P 98121 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 98122 + -P 98123 + textutils:../_doc/_odoc/reference/textutils 98124 + -P 98125 + thread-table:../_doc/_odoc/reference/thread-table 98126 + -P 98127 + time_now:../_doc/_odoc/reference/time_now 98128 + -P 98129 + typerep:../_doc/_odoc/reference/typerep 98130 + -P 98131 + tyxml:../_doc/_odoc/reference/tyxml 98132 + -P 98133 + unique:../_doc/_odoc/reference/unique 98134 + -P 98135 + univ_map:../_doc/_odoc/reference/univ_map 98136 + -P 98137 + uopt:../_doc/_odoc/reference/uopt 98138 + -P 98139 + uring:../_doc/_odoc/reference/uring 98140 + -P 98141 + uri:../_doc/_odoc/reference/uri 98142 + -P 98143 + uucp:../_doc/_odoc/reference/uucp 98144 + -P 98145 + uutf:../_doc/_odoc/reference/uutf 98146 + -P 98147 + variantslib:../_doc/_odoc/reference/variantslib 98148 + -P 98149 + x-ocaml:../_doc/_odoc/reference/x-ocaml 98150 + -P 98151 + yojson:../_doc/_odoc/reference/yojson 98152 + -P 98153 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 98154 + -P 98155 + zarr-v3:../_doc/_odoc/reference/zarr-v3 98156 + -L 98157 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 98158 + -L 98159 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 98160 + -L 98161 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 98162 + -L 98163 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 98164 + -L 98165 + astring:../_doc/_odoc/reference/astring/astring 98166 + -L 98167 + async:../_doc/_odoc/reference/async/async 98168 + -L 98169 + async.async_command:../_doc/_odoc/reference/async/async.async_command 98170 + -L 98171 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 98172 + -L 98173 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 98174 + -L 98175 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 98176 + -L 98177 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 98178 + -L 98179 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 98180 + -L 98181 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 98182 + -L 98183 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 98184 + -L 98185 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 98186 + -L 98187 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 98188 + -L 98189 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 98190 + -L 98191 + async_log:../_doc/_odoc/reference/async_log/async_log 98192 + -L 98193 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 98194 + -L 98195 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 98196 + -L 98197 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 98198 + -L 98199 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 98200 + -L 98201 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 98202 + -L 98203 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 98204 + -L 98205 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 98206 + -L 98207 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 98208 + -L 98209 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 98210 + -L 98211 + base64:../_doc/_odoc/reference/base64/base64 98212 + -L 98213 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 98214 + -L 98215 + base:../_doc/_odoc/reference/base/base 98216 + -L 98217 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 98218 + -L 98219 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 98220 + -L 98221 + base.md5:../_doc/_odoc/reference/base/base.md5 98222 + -L 98223 + basement:../_doc/_odoc/reference/basement/basement 98224 + -L 98225 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 98226 + -L 98227 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 98228 + -L 98229 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 98230 + -L 98231 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 98232 + -L 98233 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 98234 + -L 98235 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 98236 + -L 98237 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 98238 + -L 98239 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 98240 + -L 98241 + bos:../_doc/_odoc/reference/bos/bos 98242 + -L 98243 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 98244 + -L 98245 + brr:../_doc/_odoc/reference/brr/brr 98246 + -L 98247 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 98248 + -L 98249 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 98250 + -L 98251 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 98252 + -L 98253 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 98254 + -L 98255 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 98256 + -L 98257 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 98258 + -L 98259 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 98260 + -L 98261 + capsule:../_doc/_odoc/reference/capsule/capsule 98262 + -L 98263 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 98264 + -L 98265 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 98266 + -L 98267 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 98268 + -L 98269 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 98270 + -L 98271 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 98272 + -L 98273 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 98274 + -L 98275 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 98276 + -L 98277 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 98278 + -L 98279 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 98280 + -L 98281 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 98282 + -L 98283 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 98284 + -L 98285 + core.command:../_doc/_odoc/reference/core/core.command 98286 + -L 98287 + core:../_doc/_odoc/reference/core/core 98288 + -L 98289 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 98290 + -L 98291 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 98292 + -L 98293 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 98294 + -L 98295 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 98296 + -L 98297 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 98298 + -L 98299 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 98300 + -L 98301 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 98302 + -L 98303 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 98304 + -L 98305 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 98306 + -L 98307 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 98308 + -L 98309 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 98310 + -L 98311 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 98312 + -L 98313 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 98314 + -L 98315 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 98316 + -L 98317 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 98318 + -L 98319 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 98320 + -L 98321 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 98322 + -L 98323 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 98324 + -L 98325 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 98326 + -L 98327 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 98328 + -L 98329 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 98330 + -L 98331 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 98332 + -L 98333 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 98334 + -L 98335 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 98336 + -L 98337 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 98338 + -L 98339 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 98340 + -L 98341 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 98342 + -L 98343 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 98344 + -L 98345 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 98346 + -L 98347 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 98348 + -L 98349 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 98350 + -L 98351 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 98352 + -L 98353 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 98354 + -L 98355 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 98356 + -L 98357 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 98358 + -L 98359 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 98360 + -L 98361 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 98362 + -L 98363 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 98364 + -L 98365 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 98366 + -L 98367 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 98368 + -L 98369 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 98370 + -L 98371 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 98372 + -L 98373 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 98374 + -L 98375 + core.top:../_doc/_odoc/reference/core/core.top 98376 + -L 98377 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 98378 + -L 98379 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 98380 + -L 98381 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 98382 + -L 98383 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 98384 + -L 98385 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 98386 + -L 98387 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 98388 + -L 98389 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 98390 + -L 98391 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 98392 + -L 98393 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 98394 + -L 98395 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 98396 + -L 98397 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 98398 + -L 98399 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 98400 + -L 98401 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 98402 + -L 98403 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 98404 + -L 98405 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 98406 + -L 98407 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 98408 + -L 98409 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 98410 + -L 98411 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 98412 + -L 98413 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 98414 + -L 98415 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 98416 + -L 98417 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 98418 + -L 98419 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 98420 + -L 98421 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 98422 + -L 98423 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 98424 + -L 98425 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 98426 + -L 98427 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 98428 + -L 98429 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 98430 + -L 98431 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 98432 + -L 98433 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 98434 + -L 98435 + core.validate:../_doc/_odoc/reference/core/core.validate 98436 + -L 98437 + csexp:../_doc/_odoc/reference/csexp/csexp 98438 + -L 98439 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 98440 + -L 98441 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 98442 + -L 98443 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 98444 + -L 98445 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 98446 + -L 98447 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 98448 + -L 98449 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 98450 + -L 98451 + deprecated:../_doc/_odoc/reference/odoc/deprecated 98452 + -L 98453 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 98454 + -L 98455 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 98456 + -L 98457 + eio.core:../_doc/_odoc/reference/eio/eio.core 98458 + -L 98459 + eio:../_doc/_odoc/reference/eio/eio 98460 + -L 98461 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 98462 + -L 98463 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 98464 + -L 98465 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 98466 + -L 98467 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 98468 + -L 98469 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 98470 + -L 98471 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 98472 + -L 98473 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 98474 + -L 98475 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 98476 + -L 98477 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 98478 + -L 98479 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 98480 + -L 98481 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 98482 + -L 98483 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 98484 + -L 98485 + fmt:../_doc/_odoc/reference/fmt/fmt 98486 + -L 98487 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 98488 + -L 98489 + fpath:../_doc/_odoc/reference/fpath/fpath 98490 + -L 98491 + gen:../_doc/_odoc/reference/gen/gen 98492 + -L 98493 + hmap:../_doc/_odoc/reference/hmap/hmap 98494 + -L 98495 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 98496 + -L 98497 + iomux:../_doc/_odoc/reference/iomux/iomux 98498 + -L 98499 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 98500 + -L 98501 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 98502 + -L 98503 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 98504 + -L 98505 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 98506 + -L 98507 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 98508 + -L 98509 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 98510 + -L 98511 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 98512 + -L 98513 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 98514 + -L 98515 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 98516 + -L 98517 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 98518 + -L 98519 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 98520 + -L 98521 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 98522 + -L 98523 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 98524 + -L 98525 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 98526 + -L 98527 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 98528 + -L 98529 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 98530 + -L 98531 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 98532 + -L 98533 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 98534 + -L 98535 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 98536 + -L 98537 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 98538 + -L 98539 + logs:../_doc/_odoc/reference/logs/logs 98540 + -L 98541 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 98542 + -L 98543 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 98544 + -L 98545 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 98546 + -L 98547 + lwt:../_doc/_odoc/reference/lwt/lwt 98548 + -L 98549 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 98550 + -L 98551 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 98552 + -L 98553 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 98554 + -L 98555 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 98556 + -L 98557 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 98558 + -L 98559 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 98560 + -L 98561 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 98562 + -L 98563 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 98564 + -L 98565 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 98566 + -L 98567 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 98568 + -L 98569 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 98570 + -L 98571 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 98572 + -L 98573 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 98574 + -L 98575 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 98576 + -L 98577 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 98578 + -L 98579 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 98580 + -L 98581 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 98582 + -L 98583 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 98584 + -L 98585 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 98586 + -L 98587 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 98588 + -L 98589 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 98590 + -L 98591 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 98592 + -L 98593 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 98594 + -L 98595 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 98596 + -L 98597 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 98598 + -L 98599 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 98600 + -L 98601 + mtime:../_doc/_odoc/reference/mtime/mtime 98602 + -L 98603 + note.brr:../_doc/_odoc/reference/note/note.brr 98604 + -L 98605 + note:../_doc/_odoc/reference/note/note 98606 + -L 98607 + num.core:../_doc/_odoc/reference/num/num.core 98608 + -L 98609 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 98610 + -L 98611 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 98612 + -L 98613 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 98614 + -L 98615 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 98616 + -L 98617 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 98618 + -L 98619 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 98620 + -L 98621 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 98622 + -L 98623 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 98624 + -L 98625 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 98626 + -L 98627 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 98628 + -L 98629 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 98630 + -L 98631 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 98632 + -L 98633 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 98634 + -L 98635 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 98636 + -L 98637 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 98638 + -L 98639 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 98640 + -L 98641 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 98642 + -L 98643 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 98644 + -L 98645 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 98646 + -L 98647 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 98648 + -L 98649 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 98650 + -L 98651 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 98652 + -L 98653 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 98654 + -L 98655 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 98656 + -L 98657 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 98658 + -L 98659 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 98660 + -L 98661 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 98662 + -L 98663 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 98664 + -L 98665 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 98666 + -L 98667 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 98668 + -L 98669 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 98670 + -L 98671 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 98672 + -L 98673 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 98674 + -L 98675 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 98676 + -L 98677 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 98678 + -L 98679 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 98680 + -L 98681 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 98682 + -L 98683 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 98684 + -L 98685 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 98686 + -L 98687 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 98688 + -L 98689 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 98690 + -L 98691 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 98692 + -L 98693 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 98694 + -L 98695 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 98696 + -L 98697 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 98698 + -L 98699 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 98700 + -L 98701 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 98702 + -L 98703 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 98704 + -L 98705 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 98706 + -L 98707 + optint:../_doc/_odoc/reference/optint/optint 98708 + -L 98709 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 98710 + -L 98711 + patch:../_doc/_odoc/reference/patch/patch 98712 + -L 98713 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 98714 + -L 98715 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 98716 + -L 98717 + portable.common:../_doc/_odoc/reference/portable/portable.common 98718 + -L 98719 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 98720 + -L 98721 + portable:../_doc/_odoc/reference/portable/portable 98722 + -L 98723 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 98724 + -L 98725 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 98726 + -L 98727 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 98728 + -L 98729 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 98730 + -L 98731 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 98732 + -L 98733 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 98734 + -L 98735 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 98736 + -L 98737 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 98738 + -L 98739 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 98740 + -L 98741 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 98742 + -L 98743 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 98744 + -L 98745 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 98746 + -L 98747 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 98748 + -L 98749 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 98750 + -L 98751 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 98752 + -L 98753 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 98754 + -L 98755 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 98756 + -L 98757 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 98758 + -L 98759 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 98760 + -L 98761 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 98762 + -L 98763 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 98764 + -L 98765 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 98766 + -L 98767 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 98768 + -L 98769 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 98770 + -L 98771 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 98772 + -L 98773 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 98774 + -L 98775 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 98776 + -L 98777 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 98778 + -L 98779 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 98780 + -L 98781 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 98782 + -L 98783 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 98784 + -L 98785 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 98786 + -L 98787 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 98788 + -L 98789 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 98790 + -L 98791 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 98792 + -L 98793 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 98794 + -L 98795 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 98796 + -L 98797 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 98798 + -L 98799 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 98800 + -L 98801 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 98802 + -L 98803 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 98804 + -L 98805 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 98806 + -L 98807 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 98808 + -L 98809 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 98810 + -L 98811 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 98812 + -L 98813 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 98814 + -L 98815 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 98816 + -L 98817 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 98818 + -L 98819 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 98820 + -L 98821 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 98822 + -L 98823 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 98824 + -L 98825 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 98826 + -L 98827 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 98828 + -L 98829 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 98830 + -L 98831 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 98832 + -L 98833 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 98834 + -L 98835 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 98836 + -L 98837 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 98838 + -L 98839 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 98840 + -L 98841 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 98842 + -L 98843 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 98844 + -L 98845 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 98846 + -L 98847 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 98848 + -L 98849 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 98850 + -L 98851 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 98852 + -L 98853 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 98854 + -L 98855 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 98856 + -L 98857 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 98858 + -L 98859 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 98860 + -L 98861 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 98862 + -L 98863 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 98864 + -L 98865 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 98866 + -L 98867 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 98868 + -L 98869 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 98870 + -L 98871 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 98872 + -L 98873 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 98874 + -L 98875 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 98876 + -L 98877 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 98878 + -L 98879 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 98880 + -L 98881 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 98882 + -L 98883 + progress:../_doc/_odoc/reference/progress/progress 98884 + -L 98885 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 98886 + -L 98887 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 98888 + -L 98889 + psq:../_doc/_odoc/reference/psq/psq 98890 + -L 98891 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 98892 + -L 98893 + re.emacs:../_doc/_odoc/reference/re/re.emacs 98894 + -L 98895 + re.glob:../_doc/_odoc/reference/re/re.glob 98896 + -L 98897 + re.pcre:../_doc/_odoc/reference/re/re.pcre 98898 + -L 98899 + re.perl:../_doc/_odoc/reference/re/re.perl 98900 + -L 98901 + re.posix:../_doc/_odoc/reference/re/re.posix 98902 + -L 98903 + re:../_doc/_odoc/reference/re/re 98904 + -L 98905 + re.str:../_doc/_odoc/reference/re/re.str 98906 + -L 98907 + rresult:../_doc/_odoc/reference/rresult/rresult 98908 + -L 98909 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 98910 + -L 98911 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 98912 + -L 98913 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 98914 + -L 98915 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 98916 + -L 98917 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 98918 + -L 98919 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 98920 + -L 98921 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 98922 + -L 98923 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 98924 + -L 98925 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 98926 + -L 98927 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 98928 + -L 98929 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 98930 + -L 98931 + sha:../_doc/_odoc/reference/sha/sha 98932 + -L 98933 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 98934 + -L 98935 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 98936 + -L 98937 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 98938 + -L 98939 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 98940 + -L 98941 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 98942 + -L 98943 + spawn:../_doc/_odoc/reference/spawn/spawn 98944 + -L 98945 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 98946 + -L 98947 + stdio:../_doc/_odoc/reference/stdio/stdio 98948 + -L 98949 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 98950 + -L 98951 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 98952 + -L 98953 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 98954 + -L 98955 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 98956 + -L 98957 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 98958 + -L 98959 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 98960 + -L 98961 + stringext:../_doc/_odoc/reference/stringext/stringext 98962 + -L 98963 + str:../_doc/_odoc/reference/ocaml-variants/str 98964 + -L 98965 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 98966 + -L 98967 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 98968 + -L 98969 + terminal:../_doc/_odoc/reference/terminal/terminal 98970 + -L 98971 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 98972 + -L 98973 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 98974 + -L 98975 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 98976 + -L 98977 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 98978 + -L 98979 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 98980 + -L 98981 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 98982 + -L 98983 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 98984 + -L 98985 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 98986 + -L 98987 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 98988 + -L 98989 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 98990 + -L 98991 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 98992 + -L 98993 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 98994 + -L 98995 + threads:../_doc/_odoc/reference/ocaml-variants/threads 98996 + -L 98997 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 98998 + -L 98999 + time_now:../_doc/_odoc/reference/time_now/time_now 99000 + -L 99001 + typerep:../_doc/_odoc/reference/typerep/typerep 99002 + -L 99003 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 99004 + -L 99005 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 99006 + -L 99007 + unique:../_doc/_odoc/reference/unique/unique 99008 + -L 99009 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 99010 + -L 99011 + unix:../_doc/_odoc/reference/ocaml-variants/unix 99012 + -L 99013 + uopt:../_doc/_odoc/reference/uopt/uopt 99014 + -L 99015 + uring:../_doc/_odoc/reference/uring/uring 99016 + -L 99017 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 99018 + -L 99019 + uri.services:../_doc/_odoc/reference/uri/uri.services 99020 + -L 99021 + uri:../_doc/_odoc/reference/uri/uri 99022 + -L 99023 + uucp:../_doc/_odoc/reference/uucp/uucp 99024 + -L 99025 + uutf:../_doc/_odoc/reference/uutf/uutf 99026 + -L 99027 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 99028 + -L 99029 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 99030 + -L 99031 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 99032 + -L 99033 + yojson:../_doc/_odoc/reference/yojson/yojson 99034 + -L 99035 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 99036 + -L 99037 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 99038 + -o 99039 + _odoc/tags/page-docs-ci.odocl) 99040 + (run 99041 + odoc 99042 + link 99043 + --warn-error 96542 99044 _odoc/tags/page-index.odoc 96543 99045 -P 96544 99046 site:_odoc ··· 98977 101479 zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 98978 101480 -o 98979 101481 _odoc/tags/page-meta.odocl) 101482 + (run 101483 + odoc 101484 + link 101485 + --warn-error 101486 + _odoc/tags/page-notebooks.odoc 101487 + -P 101488 + site:_odoc 101489 + -P 101490 + angstrom:../_doc/_odoc/reference/angstrom 101491 + -P 101492 + angstrom-async:../_doc/_odoc/reference/angstrom-async 101493 + -P 101494 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 101495 + -P 101496 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 101497 + -P 101498 + astring:../_doc/_odoc/reference/astring 101499 + -P 101500 + async:../_doc/_odoc/reference/async 101501 + -P 101502 + async_kernel:../_doc/_odoc/reference/async_kernel 101503 + -P 101504 + async_log:../_doc/_odoc/reference/async_log 101505 + -P 101506 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 101507 + -P 101508 + async_unix:../_doc/_odoc/reference/async_unix 101509 + -P 101510 + base64:../_doc/_odoc/reference/base64 101511 + -P 101512 + base:../_doc/_odoc/reference/base 101513 + -P 101514 + base_bigstring:../_doc/_odoc/reference/base_bigstring 101515 + -P 101516 + basement:../_doc/_odoc/reference/basement 101517 + -P 101518 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 101519 + -P 101520 + bigstringaf:../_doc/_odoc/reference/bigstringaf 101521 + -P 101522 + bin_prot:../_doc/_odoc/reference/bin_prot 101523 + -P 101524 + bos:../_doc/_odoc/reference/bos 101525 + -P 101526 + brr:../_doc/_odoc/reference/brr 101527 + -P 101528 + camlp-streams:../_doc/_odoc/reference/camlp-streams 101529 + -P 101530 + capsule0:../_doc/_odoc/reference/capsule0 101531 + -P 101532 + capsule:../_doc/_odoc/reference/capsule 101533 + -P 101534 + cmdliner:../_doc/_odoc/reference/cmdliner 101535 + -P 101536 + code-mirror:../_doc/_odoc/reference/code-mirror 101537 + -P 101538 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 101539 + -P 101540 + core:../_doc/_odoc/reference/core 101541 + -P 101542 + core_extended:../_doc/_odoc/reference/core_extended 101543 + -P 101544 + core_kernel:../_doc/_odoc/reference/core_kernel 101545 + -P 101546 + core_unix:../_doc/_odoc/reference/core_unix 101547 + -P 101548 + csexp:../_doc/_odoc/reference/csexp 101549 + -P 101550 + cstruct:../_doc/_odoc/reference/cstruct 101551 + -P 101552 + decompress:../_doc/_odoc/reference/decompress 101553 + -P 101554 + odoc:../_doc/_odoc/reference/odoc 101555 + -P 101556 + domain-local-await:../_doc/_odoc/reference/domain-local-await 101557 + -P 101558 + eio:../_doc/_odoc/reference/eio 101559 + -P 101560 + eio_linux:../_doc/_odoc/reference/eio_linux 101561 + -P 101562 + eio_main:../_doc/_odoc/reference/eio_main 101563 + -P 101564 + eio_posix:../_doc/_odoc/reference/eio_posix 101565 + -P 101566 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 101567 + -P 101568 + fieldslib:../_doc/_odoc/reference/fieldslib 101569 + -P 101570 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 101571 + -P 101572 + fmt:../_doc/_odoc/reference/fmt 101573 + -P 101574 + fpath:../_doc/_odoc/reference/fpath 101575 + -P 101576 + gen:../_doc/_odoc/reference/gen 101577 + -P 101578 + hmap:../_doc/_odoc/reference/hmap 101579 + -P 101580 + int_repr:../_doc/_odoc/reference/int_repr 101581 + -P 101582 + iomux:../_doc/_odoc/reference/iomux 101583 + -P 101584 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 101585 + -P 101586 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 101587 + -P 101588 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 101589 + -P 101590 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 101591 + -P 101592 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 101593 + -P 101594 + jsonm:../_doc/_odoc/reference/jsonm 101595 + -P 101596 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 101597 + -P 101598 + js_top_worker:../_doc/_odoc/reference/js_top_worker 101599 + -P 101600 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 101601 + -P 101602 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 101603 + -P 101604 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 101605 + -P 101606 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 101607 + -P 101608 + logs:../_doc/_odoc/reference/logs 101609 + -P 101610 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 101611 + -P 101612 + lwt:../_doc/_odoc/reference/lwt 101613 + -P 101614 + menhirLib:../_doc/_odoc/reference/menhirLib 101615 + -P 101616 + merlin-js:../_doc/_odoc/reference/merlin-js 101617 + -P 101618 + merlin-lib:../_doc/_odoc/reference/merlin-lib 101619 + -P 101620 + mime_printer:../_doc/_odoc/reference/mime_printer 101621 + -P 101622 + mtime:../_doc/_odoc/reference/mtime 101623 + -P 101624 + note:../_doc/_odoc/reference/note 101625 + -P 101626 + num:../_doc/_odoc/reference/num 101627 + -P 101628 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 101629 + -P 101630 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 101631 + -P 101632 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 101633 + -P 101634 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 101635 + -P 101636 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 101637 + -P 101638 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 101639 + -P 101640 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 101641 + -P 101642 + odoc-driver:../_doc/_odoc/reference/odoc-driver 101643 + -P 101644 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 101645 + -P 101646 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 101647 + -P 101648 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 101649 + -P 101650 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 101651 + -P 101652 + odoc-parser:../_doc/_odoc/reference/odoc-parser 101653 + -P 101654 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 101655 + -P 101656 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 101657 + -P 101658 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 101659 + -P 101660 + onnxrt:../_doc/_odoc/reference/onnxrt 101661 + -P 101662 + opam-core:../_doc/_odoc/reference/opam-core 101663 + -P 101664 + opam-file-format:../_doc/_odoc/reference/opam-file-format 101665 + -P 101666 + opam-format:../_doc/_odoc/reference/opam-format 101667 + -P 101668 + optint:../_doc/_odoc/reference/optint 101669 + -P 101670 + parsexp:../_doc/_odoc/reference/parsexp 101671 + -P 101672 + patch:../_doc/_odoc/reference/patch 101673 + -P 101674 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 101675 + -P 101676 + portable:../_doc/_odoc/reference/portable 101677 + -P 101678 + ppx_assert:../_doc/_odoc/reference/ppx_assert 101679 + -P 101680 + ppx_bench:../_doc/_odoc/reference/ppx_bench 101681 + -P 101682 + ppx_compare:../_doc/_odoc/reference/ppx_compare 101683 + -P 101684 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 101685 + -P 101686 + ppx_diff:../_doc/_odoc/reference/ppx_diff 101687 + -P 101688 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 101689 + -P 101690 + ppx_expect:../_doc/_odoc/reference/ppx_expect 101691 + -P 101692 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 101693 + -P 101694 + ppx_hash:../_doc/_odoc/reference/ppx_hash 101695 + -P 101696 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 101697 + -P 101698 + ppx_here:../_doc/_odoc/reference/ppx_here 101699 + -P 101700 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 101701 + -P 101702 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 101703 + -P 101704 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 101705 + -P 101706 + ppxlib:../_doc/_odoc/reference/ppxlib 101707 + -P 101708 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 101709 + -P 101710 + ppx_log:../_doc/_odoc/reference/ppx_log 101711 + -P 101712 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 101713 + -P 101714 + ppx_portable:../_doc/_odoc/reference/ppx_portable 101715 + -P 101716 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 101717 + -P 101718 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 101719 + -P 101720 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 101721 + -P 101722 + ppx_string:../_doc/_odoc/reference/ppx_string 101723 + -P 101724 + ppx_template:../_doc/_odoc/reference/ppx_template 101725 + -P 101726 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 101727 + -P 101728 + progress:../_doc/_odoc/reference/progress 101729 + -P 101730 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 101731 + -P 101732 + psq:../_doc/_odoc/reference/psq 101733 + -P 101734 + record_builder:../_doc/_odoc/reference/record_builder 101735 + -P 101736 + re:../_doc/_odoc/reference/re 101737 + -P 101738 + rresult:../_doc/_odoc/reference/rresult 101739 + -P 101740 + sedlex:../_doc/_odoc/reference/sedlex 101741 + -P 101742 + sexplib0:../_doc/_odoc/reference/sexplib0 101743 + -P 101744 + sexplib:../_doc/_odoc/reference/sexplib 101745 + -P 101746 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 101747 + -P 101748 + sexp_type:../_doc/_odoc/reference/sexp_type 101749 + -P 101750 + sha:../_doc/_odoc/reference/sha 101751 + -P 101752 + sherlodoc:../_doc/_odoc/reference/sherlodoc 101753 + -P 101754 + spawn:../_doc/_odoc/reference/spawn 101755 + -P 101756 + splittable_random:../_doc/_odoc/reference/splittable_random 101757 + -P 101758 + stdio:../_doc/_odoc/reference/stdio 101759 + -P 101760 + string_dict:../_doc/_odoc/reference/string_dict 101761 + -P 101762 + stringext:../_doc/_odoc/reference/stringext 101763 + -P 101764 + swhid_core:../_doc/_odoc/reference/swhid_core 101765 + -P 101766 + terminal:../_doc/_odoc/reference/terminal 101767 + -P 101768 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 101769 + -P 101770 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 101771 + -P 101772 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 101773 + -P 101774 + tessera-npy:../_doc/_odoc/reference/tessera-npy 101775 + -P 101776 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 101777 + -P 101778 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 101779 + -P 101780 + tessera-viz:../_doc/_odoc/reference/tessera-viz 101781 + -P 101782 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 101783 + -P 101784 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 101785 + -P 101786 + textutils:../_doc/_odoc/reference/textutils 101787 + -P 101788 + thread-table:../_doc/_odoc/reference/thread-table 101789 + -P 101790 + time_now:../_doc/_odoc/reference/time_now 101791 + -P 101792 + typerep:../_doc/_odoc/reference/typerep 101793 + -P 101794 + tyxml:../_doc/_odoc/reference/tyxml 101795 + -P 101796 + unique:../_doc/_odoc/reference/unique 101797 + -P 101798 + univ_map:../_doc/_odoc/reference/univ_map 101799 + -P 101800 + uopt:../_doc/_odoc/reference/uopt 101801 + -P 101802 + uring:../_doc/_odoc/reference/uring 101803 + -P 101804 + uri:../_doc/_odoc/reference/uri 101805 + -P 101806 + uucp:../_doc/_odoc/reference/uucp 101807 + -P 101808 + uutf:../_doc/_odoc/reference/uutf 101809 + -P 101810 + variantslib:../_doc/_odoc/reference/variantslib 101811 + -P 101812 + x-ocaml:../_doc/_odoc/reference/x-ocaml 101813 + -P 101814 + yojson:../_doc/_odoc/reference/yojson 101815 + -P 101816 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 101817 + -P 101818 + zarr-v3:../_doc/_odoc/reference/zarr-v3 101819 + -L 101820 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 101821 + -L 101822 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 101823 + -L 101824 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 101825 + -L 101826 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 101827 + -L 101828 + astring:../_doc/_odoc/reference/astring/astring 101829 + -L 101830 + async:../_doc/_odoc/reference/async/async 101831 + -L 101832 + async.async_command:../_doc/_odoc/reference/async/async.async_command 101833 + -L 101834 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 101835 + -L 101836 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 101837 + -L 101838 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 101839 + -L 101840 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 101841 + -L 101842 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 101843 + -L 101844 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 101845 + -L 101846 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 101847 + -L 101848 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 101849 + -L 101850 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 101851 + -L 101852 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 101853 + -L 101854 + async_log:../_doc/_odoc/reference/async_log/async_log 101855 + -L 101856 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 101857 + -L 101858 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 101859 + -L 101860 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 101861 + -L 101862 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 101863 + -L 101864 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 101865 + -L 101866 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 101867 + -L 101868 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 101869 + -L 101870 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 101871 + -L 101872 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 101873 + -L 101874 + base64:../_doc/_odoc/reference/base64/base64 101875 + -L 101876 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 101877 + -L 101878 + base:../_doc/_odoc/reference/base/base 101879 + -L 101880 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 101881 + -L 101882 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 101883 + -L 101884 + base.md5:../_doc/_odoc/reference/base/base.md5 101885 + -L 101886 + basement:../_doc/_odoc/reference/basement/basement 101887 + -L 101888 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 101889 + -L 101890 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 101891 + -L 101892 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 101893 + -L 101894 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 101895 + -L 101896 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 101897 + -L 101898 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 101899 + -L 101900 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 101901 + -L 101902 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 101903 + -L 101904 + bos:../_doc/_odoc/reference/bos/bos 101905 + -L 101906 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 101907 + -L 101908 + brr:../_doc/_odoc/reference/brr/brr 101909 + -L 101910 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 101911 + -L 101912 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 101913 + -L 101914 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 101915 + -L 101916 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 101917 + -L 101918 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 101919 + -L 101920 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 101921 + -L 101922 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 101923 + -L 101924 + capsule:../_doc/_odoc/reference/capsule/capsule 101925 + -L 101926 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 101927 + -L 101928 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 101929 + -L 101930 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 101931 + -L 101932 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 101933 + -L 101934 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 101935 + -L 101936 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 101937 + -L 101938 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 101939 + -L 101940 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 101941 + -L 101942 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 101943 + -L 101944 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 101945 + -L 101946 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 101947 + -L 101948 + core.command:../_doc/_odoc/reference/core/core.command 101949 + -L 101950 + core:../_doc/_odoc/reference/core/core 101951 + -L 101952 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 101953 + -L 101954 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 101955 + -L 101956 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 101957 + -L 101958 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 101959 + -L 101960 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 101961 + -L 101962 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 101963 + -L 101964 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 101965 + -L 101966 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 101967 + -L 101968 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 101969 + -L 101970 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 101971 + -L 101972 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 101973 + -L 101974 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 101975 + -L 101976 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 101977 + -L 101978 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 101979 + -L 101980 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 101981 + -L 101982 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 101983 + -L 101984 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 101985 + -L 101986 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 101987 + -L 101988 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 101989 + -L 101990 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 101991 + -L 101992 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 101993 + -L 101994 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 101995 + -L 101996 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 101997 + -L 101998 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 101999 + -L 102000 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 102001 + -L 102002 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 102003 + -L 102004 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 102005 + -L 102006 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 102007 + -L 102008 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 102009 + -L 102010 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 102011 + -L 102012 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 102013 + -L 102014 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 102015 + -L 102016 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 102017 + -L 102018 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 102019 + -L 102020 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 102021 + -L 102022 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 102023 + -L 102024 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 102025 + -L 102026 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 102027 + -L 102028 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 102029 + -L 102030 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 102031 + -L 102032 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 102033 + -L 102034 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 102035 + -L 102036 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 102037 + -L 102038 + core.top:../_doc/_odoc/reference/core/core.top 102039 + -L 102040 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 102041 + -L 102042 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 102043 + -L 102044 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 102045 + -L 102046 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 102047 + -L 102048 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 102049 + -L 102050 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 102051 + -L 102052 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 102053 + -L 102054 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 102055 + -L 102056 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 102057 + -L 102058 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 102059 + -L 102060 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 102061 + -L 102062 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 102063 + -L 102064 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 102065 + -L 102066 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 102067 + -L 102068 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 102069 + -L 102070 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 102071 + -L 102072 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 102073 + -L 102074 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 102075 + -L 102076 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 102077 + -L 102078 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 102079 + -L 102080 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 102081 + -L 102082 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 102083 + -L 102084 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 102085 + -L 102086 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 102087 + -L 102088 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 102089 + -L 102090 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 102091 + -L 102092 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 102093 + -L 102094 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 102095 + -L 102096 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 102097 + -L 102098 + core.validate:../_doc/_odoc/reference/core/core.validate 102099 + -L 102100 + csexp:../_doc/_odoc/reference/csexp/csexp 102101 + -L 102102 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 102103 + -L 102104 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 102105 + -L 102106 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 102107 + -L 102108 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 102109 + -L 102110 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 102111 + -L 102112 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 102113 + -L 102114 + deprecated:../_doc/_odoc/reference/odoc/deprecated 102115 + -L 102116 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 102117 + -L 102118 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 102119 + -L 102120 + eio.core:../_doc/_odoc/reference/eio/eio.core 102121 + -L 102122 + eio:../_doc/_odoc/reference/eio/eio 102123 + -L 102124 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 102125 + -L 102126 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 102127 + -L 102128 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 102129 + -L 102130 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 102131 + -L 102132 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 102133 + -L 102134 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 102135 + -L 102136 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 102137 + -L 102138 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 102139 + -L 102140 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 102141 + -L 102142 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 102143 + -L 102144 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 102145 + -L 102146 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 102147 + -L 102148 + fmt:../_doc/_odoc/reference/fmt/fmt 102149 + -L 102150 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 102151 + -L 102152 + fpath:../_doc/_odoc/reference/fpath/fpath 102153 + -L 102154 + gen:../_doc/_odoc/reference/gen/gen 102155 + -L 102156 + hmap:../_doc/_odoc/reference/hmap/hmap 102157 + -L 102158 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 102159 + -L 102160 + iomux:../_doc/_odoc/reference/iomux/iomux 102161 + -L 102162 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 102163 + -L 102164 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 102165 + -L 102166 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 102167 + -L 102168 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 102169 + -L 102170 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 102171 + -L 102172 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 102173 + -L 102174 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 102175 + -L 102176 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 102177 + -L 102178 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 102179 + -L 102180 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 102181 + -L 102182 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 102183 + -L 102184 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 102185 + -L 102186 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 102187 + -L 102188 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 102189 + -L 102190 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 102191 + -L 102192 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 102193 + -L 102194 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 102195 + -L 102196 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 102197 + -L 102198 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 102199 + -L 102200 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 102201 + -L 102202 + logs:../_doc/_odoc/reference/logs/logs 102203 + -L 102204 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 102205 + -L 102206 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 102207 + -L 102208 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 102209 + -L 102210 + lwt:../_doc/_odoc/reference/lwt/lwt 102211 + -L 102212 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 102213 + -L 102214 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 102215 + -L 102216 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 102217 + -L 102218 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 102219 + -L 102220 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 102221 + -L 102222 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 102223 + -L 102224 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 102225 + -L 102226 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 102227 + -L 102228 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 102229 + -L 102230 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 102231 + -L 102232 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 102233 + -L 102234 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 102235 + -L 102236 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 102237 + -L 102238 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 102239 + -L 102240 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 102241 + -L 102242 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 102243 + -L 102244 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 102245 + -L 102246 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 102247 + -L 102248 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 102249 + -L 102250 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 102251 + -L 102252 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 102253 + -L 102254 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 102255 + -L 102256 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 102257 + -L 102258 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 102259 + -L 102260 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 102261 + -L 102262 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 102263 + -L 102264 + mtime:../_doc/_odoc/reference/mtime/mtime 102265 + -L 102266 + note.brr:../_doc/_odoc/reference/note/note.brr 102267 + -L 102268 + note:../_doc/_odoc/reference/note/note 102269 + -L 102270 + num.core:../_doc/_odoc/reference/num/num.core 102271 + -L 102272 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 102273 + -L 102274 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 102275 + -L 102276 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 102277 + -L 102278 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 102279 + -L 102280 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 102281 + -L 102282 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 102283 + -L 102284 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 102285 + -L 102286 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 102287 + -L 102288 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 102289 + -L 102290 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 102291 + -L 102292 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 102293 + -L 102294 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 102295 + -L 102296 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 102297 + -L 102298 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 102299 + -L 102300 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 102301 + -L 102302 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 102303 + -L 102304 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 102305 + -L 102306 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 102307 + -L 102308 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 102309 + -L 102310 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 102311 + -L 102312 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 102313 + -L 102314 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 102315 + -L 102316 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 102317 + -L 102318 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 102319 + -L 102320 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 102321 + -L 102322 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 102323 + -L 102324 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 102325 + -L 102326 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 102327 + -L 102328 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 102329 + -L 102330 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 102331 + -L 102332 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 102333 + -L 102334 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 102335 + -L 102336 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 102337 + -L 102338 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 102339 + -L 102340 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 102341 + -L 102342 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 102343 + -L 102344 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 102345 + -L 102346 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 102347 + -L 102348 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 102349 + -L 102350 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 102351 + -L 102352 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 102353 + -L 102354 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 102355 + -L 102356 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 102357 + -L 102358 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 102359 + -L 102360 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 102361 + -L 102362 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 102363 + -L 102364 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 102365 + -L 102366 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 102367 + -L 102368 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 102369 + -L 102370 + optint:../_doc/_odoc/reference/optint/optint 102371 + -L 102372 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 102373 + -L 102374 + patch:../_doc/_odoc/reference/patch/patch 102375 + -L 102376 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 102377 + -L 102378 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 102379 + -L 102380 + portable.common:../_doc/_odoc/reference/portable/portable.common 102381 + -L 102382 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 102383 + -L 102384 + portable:../_doc/_odoc/reference/portable/portable 102385 + -L 102386 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 102387 + -L 102388 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 102389 + -L 102390 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 102391 + -L 102392 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 102393 + -L 102394 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 102395 + -L 102396 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 102397 + -L 102398 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 102399 + -L 102400 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 102401 + -L 102402 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 102403 + -L 102404 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 102405 + -L 102406 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 102407 + -L 102408 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 102409 + -L 102410 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 102411 + -L 102412 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 102413 + -L 102414 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 102415 + -L 102416 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 102417 + -L 102418 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 102419 + -L 102420 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 102421 + -L 102422 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 102423 + -L 102424 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 102425 + -L 102426 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 102427 + -L 102428 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 102429 + -L 102430 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 102431 + -L 102432 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 102433 + -L 102434 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 102435 + -L 102436 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 102437 + -L 102438 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 102439 + -L 102440 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 102441 + -L 102442 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 102443 + -L 102444 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 102445 + -L 102446 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 102447 + -L 102448 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 102449 + -L 102450 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 102451 + -L 102452 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 102453 + -L 102454 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 102455 + -L 102456 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 102457 + -L 102458 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 102459 + -L 102460 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 102461 + -L 102462 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 102463 + -L 102464 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 102465 + -L 102466 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 102467 + -L 102468 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 102469 + -L 102470 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 102471 + -L 102472 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 102473 + -L 102474 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 102475 + -L 102476 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 102477 + -L 102478 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 102479 + -L 102480 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 102481 + -L 102482 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 102483 + -L 102484 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 102485 + -L 102486 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 102487 + -L 102488 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 102489 + -L 102490 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 102491 + -L 102492 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 102493 + -L 102494 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 102495 + -L 102496 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 102497 + -L 102498 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 102499 + -L 102500 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 102501 + -L 102502 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 102503 + -L 102504 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 102505 + -L 102506 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 102507 + -L 102508 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 102509 + -L 102510 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 102511 + -L 102512 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 102513 + -L 102514 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 102515 + -L 102516 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 102517 + -L 102518 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 102519 + -L 102520 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 102521 + -L 102522 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 102523 + -L 102524 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 102525 + -L 102526 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 102527 + -L 102528 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 102529 + -L 102530 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 102531 + -L 102532 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 102533 + -L 102534 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 102535 + -L 102536 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 102537 + -L 102538 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 102539 + -L 102540 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 102541 + -L 102542 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 102543 + -L 102544 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 102545 + -L 102546 + progress:../_doc/_odoc/reference/progress/progress 102547 + -L 102548 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 102549 + -L 102550 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 102551 + -L 102552 + psq:../_doc/_odoc/reference/psq/psq 102553 + -L 102554 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 102555 + -L 102556 + re.emacs:../_doc/_odoc/reference/re/re.emacs 102557 + -L 102558 + re.glob:../_doc/_odoc/reference/re/re.glob 102559 + -L 102560 + re.pcre:../_doc/_odoc/reference/re/re.pcre 102561 + -L 102562 + re.perl:../_doc/_odoc/reference/re/re.perl 102563 + -L 102564 + re.posix:../_doc/_odoc/reference/re/re.posix 102565 + -L 102566 + re:../_doc/_odoc/reference/re/re 102567 + -L 102568 + re.str:../_doc/_odoc/reference/re/re.str 102569 + -L 102570 + rresult:../_doc/_odoc/reference/rresult/rresult 102571 + -L 102572 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 102573 + -L 102574 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 102575 + -L 102576 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 102577 + -L 102578 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 102579 + -L 102580 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 102581 + -L 102582 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 102583 + -L 102584 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 102585 + -L 102586 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 102587 + -L 102588 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 102589 + -L 102590 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 102591 + -L 102592 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 102593 + -L 102594 + sha:../_doc/_odoc/reference/sha/sha 102595 + -L 102596 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 102597 + -L 102598 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 102599 + -L 102600 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 102601 + -L 102602 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 102603 + -L 102604 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 102605 + -L 102606 + spawn:../_doc/_odoc/reference/spawn/spawn 102607 + -L 102608 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 102609 + -L 102610 + stdio:../_doc/_odoc/reference/stdio/stdio 102611 + -L 102612 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 102613 + -L 102614 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 102615 + -L 102616 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 102617 + -L 102618 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 102619 + -L 102620 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 102621 + -L 102622 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 102623 + -L 102624 + stringext:../_doc/_odoc/reference/stringext/stringext 102625 + -L 102626 + str:../_doc/_odoc/reference/ocaml-variants/str 102627 + -L 102628 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 102629 + -L 102630 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 102631 + -L 102632 + terminal:../_doc/_odoc/reference/terminal/terminal 102633 + -L 102634 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 102635 + -L 102636 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 102637 + -L 102638 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 102639 + -L 102640 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 102641 + -L 102642 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 102643 + -L 102644 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 102645 + -L 102646 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 102647 + -L 102648 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 102649 + -L 102650 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 102651 + -L 102652 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 102653 + -L 102654 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 102655 + -L 102656 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 102657 + -L 102658 + threads:../_doc/_odoc/reference/ocaml-variants/threads 102659 + -L 102660 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 102661 + -L 102662 + time_now:../_doc/_odoc/reference/time_now/time_now 102663 + -L 102664 + typerep:../_doc/_odoc/reference/typerep/typerep 102665 + -L 102666 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 102667 + -L 102668 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 102669 + -L 102670 + unique:../_doc/_odoc/reference/unique/unique 102671 + -L 102672 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 102673 + -L 102674 + unix:../_doc/_odoc/reference/ocaml-variants/unix 102675 + -L 102676 + uopt:../_doc/_odoc/reference/uopt/uopt 102677 + -L 102678 + uring:../_doc/_odoc/reference/uring/uring 102679 + -L 102680 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 102681 + -L 102682 + uri.services:../_doc/_odoc/reference/uri/uri.services 102683 + -L 102684 + uri:../_doc/_odoc/reference/uri/uri 102685 + -L 102686 + uucp:../_doc/_odoc/reference/uucp/uucp 102687 + -L 102688 + uutf:../_doc/_odoc/reference/uutf/uutf 102689 + -L 102690 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 102691 + -L 102692 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 102693 + -L 102694 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 102695 + -L 102696 + yojson:../_doc/_odoc/reference/yojson/yojson 102697 + -L 102698 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 102699 + -L 102700 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 102701 + -o 102702 + _odoc/tags/page-notebooks.odocl) 98980 102703 (run 98981 102704 odoc 98982 102705 link ··· 102640 106363 zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 102641 106364 -o 102642 106365 _odoc/tags/page-plugins.odocl) 106366 + (run 106367 + odoc 106368 + link 106369 + --warn-error 106370 + _odoc/tags/page-teaching.odoc 106371 + -P 106372 + site:_odoc 106373 + -P 106374 + angstrom:../_doc/_odoc/reference/angstrom 106375 + -P 106376 + angstrom-async:../_doc/_odoc/reference/angstrom-async 106377 + -P 106378 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 106379 + -P 106380 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 106381 + -P 106382 + astring:../_doc/_odoc/reference/astring 106383 + -P 106384 + async:../_doc/_odoc/reference/async 106385 + -P 106386 + async_kernel:../_doc/_odoc/reference/async_kernel 106387 + -P 106388 + async_log:../_doc/_odoc/reference/async_log 106389 + -P 106390 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 106391 + -P 106392 + async_unix:../_doc/_odoc/reference/async_unix 106393 + -P 106394 + base64:../_doc/_odoc/reference/base64 106395 + -P 106396 + base:../_doc/_odoc/reference/base 106397 + -P 106398 + base_bigstring:../_doc/_odoc/reference/base_bigstring 106399 + -P 106400 + basement:../_doc/_odoc/reference/basement 106401 + -P 106402 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 106403 + -P 106404 + bigstringaf:../_doc/_odoc/reference/bigstringaf 106405 + -P 106406 + bin_prot:../_doc/_odoc/reference/bin_prot 106407 + -P 106408 + bos:../_doc/_odoc/reference/bos 106409 + -P 106410 + brr:../_doc/_odoc/reference/brr 106411 + -P 106412 + camlp-streams:../_doc/_odoc/reference/camlp-streams 106413 + -P 106414 + capsule0:../_doc/_odoc/reference/capsule0 106415 + -P 106416 + capsule:../_doc/_odoc/reference/capsule 106417 + -P 106418 + cmdliner:../_doc/_odoc/reference/cmdliner 106419 + -P 106420 + code-mirror:../_doc/_odoc/reference/code-mirror 106421 + -P 106422 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 106423 + -P 106424 + core:../_doc/_odoc/reference/core 106425 + -P 106426 + core_extended:../_doc/_odoc/reference/core_extended 106427 + -P 106428 + core_kernel:../_doc/_odoc/reference/core_kernel 106429 + -P 106430 + core_unix:../_doc/_odoc/reference/core_unix 106431 + -P 106432 + csexp:../_doc/_odoc/reference/csexp 106433 + -P 106434 + cstruct:../_doc/_odoc/reference/cstruct 106435 + -P 106436 + decompress:../_doc/_odoc/reference/decompress 106437 + -P 106438 + odoc:../_doc/_odoc/reference/odoc 106439 + -P 106440 + domain-local-await:../_doc/_odoc/reference/domain-local-await 106441 + -P 106442 + eio:../_doc/_odoc/reference/eio 106443 + -P 106444 + eio_linux:../_doc/_odoc/reference/eio_linux 106445 + -P 106446 + eio_main:../_doc/_odoc/reference/eio_main 106447 + -P 106448 + eio_posix:../_doc/_odoc/reference/eio_posix 106449 + -P 106450 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 106451 + -P 106452 + fieldslib:../_doc/_odoc/reference/fieldslib 106453 + -P 106454 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 106455 + -P 106456 + fmt:../_doc/_odoc/reference/fmt 106457 + -P 106458 + fpath:../_doc/_odoc/reference/fpath 106459 + -P 106460 + gen:../_doc/_odoc/reference/gen 106461 + -P 106462 + hmap:../_doc/_odoc/reference/hmap 106463 + -P 106464 + int_repr:../_doc/_odoc/reference/int_repr 106465 + -P 106466 + iomux:../_doc/_odoc/reference/iomux 106467 + -P 106468 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 106469 + -P 106470 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 106471 + -P 106472 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 106473 + -P 106474 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 106475 + -P 106476 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 106477 + -P 106478 + jsonm:../_doc/_odoc/reference/jsonm 106479 + -P 106480 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 106481 + -P 106482 + js_top_worker:../_doc/_odoc/reference/js_top_worker 106483 + -P 106484 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 106485 + -P 106486 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 106487 + -P 106488 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 106489 + -P 106490 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 106491 + -P 106492 + logs:../_doc/_odoc/reference/logs 106493 + -P 106494 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 106495 + -P 106496 + lwt:../_doc/_odoc/reference/lwt 106497 + -P 106498 + menhirLib:../_doc/_odoc/reference/menhirLib 106499 + -P 106500 + merlin-js:../_doc/_odoc/reference/merlin-js 106501 + -P 106502 + merlin-lib:../_doc/_odoc/reference/merlin-lib 106503 + -P 106504 + mime_printer:../_doc/_odoc/reference/mime_printer 106505 + -P 106506 + mtime:../_doc/_odoc/reference/mtime 106507 + -P 106508 + note:../_doc/_odoc/reference/note 106509 + -P 106510 + num:../_doc/_odoc/reference/num 106511 + -P 106512 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 106513 + -P 106514 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 106515 + -P 106516 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 106517 + -P 106518 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 106519 + -P 106520 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 106521 + -P 106522 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 106523 + -P 106524 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 106525 + -P 106526 + odoc-driver:../_doc/_odoc/reference/odoc-driver 106527 + -P 106528 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 106529 + -P 106530 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 106531 + -P 106532 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 106533 + -P 106534 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 106535 + -P 106536 + odoc-parser:../_doc/_odoc/reference/odoc-parser 106537 + -P 106538 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 106539 + -P 106540 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 106541 + -P 106542 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 106543 + -P 106544 + onnxrt:../_doc/_odoc/reference/onnxrt 106545 + -P 106546 + opam-core:../_doc/_odoc/reference/opam-core 106547 + -P 106548 + opam-file-format:../_doc/_odoc/reference/opam-file-format 106549 + -P 106550 + opam-format:../_doc/_odoc/reference/opam-format 106551 + -P 106552 + optint:../_doc/_odoc/reference/optint 106553 + -P 106554 + parsexp:../_doc/_odoc/reference/parsexp 106555 + -P 106556 + patch:../_doc/_odoc/reference/patch 106557 + -P 106558 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 106559 + -P 106560 + portable:../_doc/_odoc/reference/portable 106561 + -P 106562 + ppx_assert:../_doc/_odoc/reference/ppx_assert 106563 + -P 106564 + ppx_bench:../_doc/_odoc/reference/ppx_bench 106565 + -P 106566 + ppx_compare:../_doc/_odoc/reference/ppx_compare 106567 + -P 106568 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 106569 + -P 106570 + ppx_diff:../_doc/_odoc/reference/ppx_diff 106571 + -P 106572 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 106573 + -P 106574 + ppx_expect:../_doc/_odoc/reference/ppx_expect 106575 + -P 106576 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 106577 + -P 106578 + ppx_hash:../_doc/_odoc/reference/ppx_hash 106579 + -P 106580 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 106581 + -P 106582 + ppx_here:../_doc/_odoc/reference/ppx_here 106583 + -P 106584 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 106585 + -P 106586 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 106587 + -P 106588 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 106589 + -P 106590 + ppxlib:../_doc/_odoc/reference/ppxlib 106591 + -P 106592 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 106593 + -P 106594 + ppx_log:../_doc/_odoc/reference/ppx_log 106595 + -P 106596 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 106597 + -P 106598 + ppx_portable:../_doc/_odoc/reference/ppx_portable 106599 + -P 106600 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 106601 + -P 106602 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 106603 + -P 106604 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 106605 + -P 106606 + ppx_string:../_doc/_odoc/reference/ppx_string 106607 + -P 106608 + ppx_template:../_doc/_odoc/reference/ppx_template 106609 + -P 106610 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 106611 + -P 106612 + progress:../_doc/_odoc/reference/progress 106613 + -P 106614 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 106615 + -P 106616 + psq:../_doc/_odoc/reference/psq 106617 + -P 106618 + record_builder:../_doc/_odoc/reference/record_builder 106619 + -P 106620 + re:../_doc/_odoc/reference/re 106621 + -P 106622 + rresult:../_doc/_odoc/reference/rresult 106623 + -P 106624 + sedlex:../_doc/_odoc/reference/sedlex 106625 + -P 106626 + sexplib0:../_doc/_odoc/reference/sexplib0 106627 + -P 106628 + sexplib:../_doc/_odoc/reference/sexplib 106629 + -P 106630 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 106631 + -P 106632 + sexp_type:../_doc/_odoc/reference/sexp_type 106633 + -P 106634 + sha:../_doc/_odoc/reference/sha 106635 + -P 106636 + sherlodoc:../_doc/_odoc/reference/sherlodoc 106637 + -P 106638 + spawn:../_doc/_odoc/reference/spawn 106639 + -P 106640 + splittable_random:../_doc/_odoc/reference/splittable_random 106641 + -P 106642 + stdio:../_doc/_odoc/reference/stdio 106643 + -P 106644 + string_dict:../_doc/_odoc/reference/string_dict 106645 + -P 106646 + stringext:../_doc/_odoc/reference/stringext 106647 + -P 106648 + swhid_core:../_doc/_odoc/reference/swhid_core 106649 + -P 106650 + terminal:../_doc/_odoc/reference/terminal 106651 + -P 106652 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 106653 + -P 106654 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 106655 + -P 106656 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 106657 + -P 106658 + tessera-npy:../_doc/_odoc/reference/tessera-npy 106659 + -P 106660 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 106661 + -P 106662 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 106663 + -P 106664 + tessera-viz:../_doc/_odoc/reference/tessera-viz 106665 + -P 106666 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 106667 + -P 106668 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 106669 + -P 106670 + textutils:../_doc/_odoc/reference/textutils 106671 + -P 106672 + thread-table:../_doc/_odoc/reference/thread-table 106673 + -P 106674 + time_now:../_doc/_odoc/reference/time_now 106675 + -P 106676 + typerep:../_doc/_odoc/reference/typerep 106677 + -P 106678 + tyxml:../_doc/_odoc/reference/tyxml 106679 + -P 106680 + unique:../_doc/_odoc/reference/unique 106681 + -P 106682 + univ_map:../_doc/_odoc/reference/univ_map 106683 + -P 106684 + uopt:../_doc/_odoc/reference/uopt 106685 + -P 106686 + uring:../_doc/_odoc/reference/uring 106687 + -P 106688 + uri:../_doc/_odoc/reference/uri 106689 + -P 106690 + uucp:../_doc/_odoc/reference/uucp 106691 + -P 106692 + uutf:../_doc/_odoc/reference/uutf 106693 + -P 106694 + variantslib:../_doc/_odoc/reference/variantslib 106695 + -P 106696 + x-ocaml:../_doc/_odoc/reference/x-ocaml 106697 + -P 106698 + yojson:../_doc/_odoc/reference/yojson 106699 + -P 106700 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 106701 + -P 106702 + zarr-v3:../_doc/_odoc/reference/zarr-v3 106703 + -L 106704 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 106705 + -L 106706 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 106707 + -L 106708 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 106709 + -L 106710 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 106711 + -L 106712 + astring:../_doc/_odoc/reference/astring/astring 106713 + -L 106714 + async:../_doc/_odoc/reference/async/async 106715 + -L 106716 + async.async_command:../_doc/_odoc/reference/async/async.async_command 106717 + -L 106718 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 106719 + -L 106720 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 106721 + -L 106722 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 106723 + -L 106724 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 106725 + -L 106726 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 106727 + -L 106728 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 106729 + -L 106730 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 106731 + -L 106732 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 106733 + -L 106734 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 106735 + -L 106736 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 106737 + -L 106738 + async_log:../_doc/_odoc/reference/async_log/async_log 106739 + -L 106740 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 106741 + -L 106742 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 106743 + -L 106744 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 106745 + -L 106746 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 106747 + -L 106748 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 106749 + -L 106750 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 106751 + -L 106752 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 106753 + -L 106754 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 106755 + -L 106756 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 106757 + -L 106758 + base64:../_doc/_odoc/reference/base64/base64 106759 + -L 106760 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 106761 + -L 106762 + base:../_doc/_odoc/reference/base/base 106763 + -L 106764 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 106765 + -L 106766 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 106767 + -L 106768 + base.md5:../_doc/_odoc/reference/base/base.md5 106769 + -L 106770 + basement:../_doc/_odoc/reference/basement/basement 106771 + -L 106772 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 106773 + -L 106774 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 106775 + -L 106776 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 106777 + -L 106778 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 106779 + -L 106780 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 106781 + -L 106782 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 106783 + -L 106784 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 106785 + -L 106786 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 106787 + -L 106788 + bos:../_doc/_odoc/reference/bos/bos 106789 + -L 106790 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 106791 + -L 106792 + brr:../_doc/_odoc/reference/brr/brr 106793 + -L 106794 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 106795 + -L 106796 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 106797 + -L 106798 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 106799 + -L 106800 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 106801 + -L 106802 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 106803 + -L 106804 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 106805 + -L 106806 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 106807 + -L 106808 + capsule:../_doc/_odoc/reference/capsule/capsule 106809 + -L 106810 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 106811 + -L 106812 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 106813 + -L 106814 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 106815 + -L 106816 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 106817 + -L 106818 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 106819 + -L 106820 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 106821 + -L 106822 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 106823 + -L 106824 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 106825 + -L 106826 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 106827 + -L 106828 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 106829 + -L 106830 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 106831 + -L 106832 + core.command:../_doc/_odoc/reference/core/core.command 106833 + -L 106834 + core:../_doc/_odoc/reference/core/core 106835 + -L 106836 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 106837 + -L 106838 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 106839 + -L 106840 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 106841 + -L 106842 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 106843 + -L 106844 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 106845 + -L 106846 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 106847 + -L 106848 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 106849 + -L 106850 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 106851 + -L 106852 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 106853 + -L 106854 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 106855 + -L 106856 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 106857 + -L 106858 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 106859 + -L 106860 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 106861 + -L 106862 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 106863 + -L 106864 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 106865 + -L 106866 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 106867 + -L 106868 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 106869 + -L 106870 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 106871 + -L 106872 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 106873 + -L 106874 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 106875 + -L 106876 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 106877 + -L 106878 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 106879 + -L 106880 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 106881 + -L 106882 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 106883 + -L 106884 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 106885 + -L 106886 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 106887 + -L 106888 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 106889 + -L 106890 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 106891 + -L 106892 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 106893 + -L 106894 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 106895 + -L 106896 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 106897 + -L 106898 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 106899 + -L 106900 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 106901 + -L 106902 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 106903 + -L 106904 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 106905 + -L 106906 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 106907 + -L 106908 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 106909 + -L 106910 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 106911 + -L 106912 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 106913 + -L 106914 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 106915 + -L 106916 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 106917 + -L 106918 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 106919 + -L 106920 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 106921 + -L 106922 + core.top:../_doc/_odoc/reference/core/core.top 106923 + -L 106924 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 106925 + -L 106926 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 106927 + -L 106928 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 106929 + -L 106930 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 106931 + -L 106932 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 106933 + -L 106934 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 106935 + -L 106936 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 106937 + -L 106938 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 106939 + -L 106940 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 106941 + -L 106942 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 106943 + -L 106944 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 106945 + -L 106946 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 106947 + -L 106948 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 106949 + -L 106950 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 106951 + -L 106952 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 106953 + -L 106954 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 106955 + -L 106956 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 106957 + -L 106958 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 106959 + -L 106960 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 106961 + -L 106962 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 106963 + -L 106964 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 106965 + -L 106966 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 106967 + -L 106968 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 106969 + -L 106970 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 106971 + -L 106972 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 106973 + -L 106974 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 106975 + -L 106976 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 106977 + -L 106978 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 106979 + -L 106980 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 106981 + -L 106982 + core.validate:../_doc/_odoc/reference/core/core.validate 106983 + -L 106984 + csexp:../_doc/_odoc/reference/csexp/csexp 106985 + -L 106986 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 106987 + -L 106988 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 106989 + -L 106990 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 106991 + -L 106992 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 106993 + -L 106994 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 106995 + -L 106996 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 106997 + -L 106998 + deprecated:../_doc/_odoc/reference/odoc/deprecated 106999 + -L 107000 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 107001 + -L 107002 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 107003 + -L 107004 + eio.core:../_doc/_odoc/reference/eio/eio.core 107005 + -L 107006 + eio:../_doc/_odoc/reference/eio/eio 107007 + -L 107008 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 107009 + -L 107010 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 107011 + -L 107012 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 107013 + -L 107014 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 107015 + -L 107016 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 107017 + -L 107018 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 107019 + -L 107020 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 107021 + -L 107022 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 107023 + -L 107024 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 107025 + -L 107026 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 107027 + -L 107028 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 107029 + -L 107030 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 107031 + -L 107032 + fmt:../_doc/_odoc/reference/fmt/fmt 107033 + -L 107034 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 107035 + -L 107036 + fpath:../_doc/_odoc/reference/fpath/fpath 107037 + -L 107038 + gen:../_doc/_odoc/reference/gen/gen 107039 + -L 107040 + hmap:../_doc/_odoc/reference/hmap/hmap 107041 + -L 107042 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 107043 + -L 107044 + iomux:../_doc/_odoc/reference/iomux/iomux 107045 + -L 107046 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 107047 + -L 107048 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 107049 + -L 107050 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 107051 + -L 107052 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 107053 + -L 107054 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 107055 + -L 107056 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 107057 + -L 107058 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 107059 + -L 107060 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 107061 + -L 107062 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 107063 + -L 107064 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 107065 + -L 107066 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 107067 + -L 107068 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 107069 + -L 107070 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 107071 + -L 107072 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 107073 + -L 107074 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 107075 + -L 107076 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 107077 + -L 107078 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 107079 + -L 107080 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 107081 + -L 107082 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 107083 + -L 107084 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 107085 + -L 107086 + logs:../_doc/_odoc/reference/logs/logs 107087 + -L 107088 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 107089 + -L 107090 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 107091 + -L 107092 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 107093 + -L 107094 + lwt:../_doc/_odoc/reference/lwt/lwt 107095 + -L 107096 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 107097 + -L 107098 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 107099 + -L 107100 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 107101 + -L 107102 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 107103 + -L 107104 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 107105 + -L 107106 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 107107 + -L 107108 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 107109 + -L 107110 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 107111 + -L 107112 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 107113 + -L 107114 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 107115 + -L 107116 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 107117 + -L 107118 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 107119 + -L 107120 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 107121 + -L 107122 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 107123 + -L 107124 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 107125 + -L 107126 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 107127 + -L 107128 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 107129 + -L 107130 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 107131 + -L 107132 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 107133 + -L 107134 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 107135 + -L 107136 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 107137 + -L 107138 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 107139 + -L 107140 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 107141 + -L 107142 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 107143 + -L 107144 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 107145 + -L 107146 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 107147 + -L 107148 + mtime:../_doc/_odoc/reference/mtime/mtime 107149 + -L 107150 + note.brr:../_doc/_odoc/reference/note/note.brr 107151 + -L 107152 + note:../_doc/_odoc/reference/note/note 107153 + -L 107154 + num.core:../_doc/_odoc/reference/num/num.core 107155 + -L 107156 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 107157 + -L 107158 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 107159 + -L 107160 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 107161 + -L 107162 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 107163 + -L 107164 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 107165 + -L 107166 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 107167 + -L 107168 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 107169 + -L 107170 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 107171 + -L 107172 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 107173 + -L 107174 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 107175 + -L 107176 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 107177 + -L 107178 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 107179 + -L 107180 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 107181 + -L 107182 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 107183 + -L 107184 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 107185 + -L 107186 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 107187 + -L 107188 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 107189 + -L 107190 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 107191 + -L 107192 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 107193 + -L 107194 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 107195 + -L 107196 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 107197 + -L 107198 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 107199 + -L 107200 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 107201 + -L 107202 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 107203 + -L 107204 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 107205 + -L 107206 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 107207 + -L 107208 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 107209 + -L 107210 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 107211 + -L 107212 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 107213 + -L 107214 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 107215 + -L 107216 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 107217 + -L 107218 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 107219 + -L 107220 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 107221 + -L 107222 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 107223 + -L 107224 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 107225 + -L 107226 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 107227 + -L 107228 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 107229 + -L 107230 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 107231 + -L 107232 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 107233 + -L 107234 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 107235 + -L 107236 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 107237 + -L 107238 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 107239 + -L 107240 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 107241 + -L 107242 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 107243 + -L 107244 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 107245 + -L 107246 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 107247 + -L 107248 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 107249 + -L 107250 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 107251 + -L 107252 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 107253 + -L 107254 + optint:../_doc/_odoc/reference/optint/optint 107255 + -L 107256 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 107257 + -L 107258 + patch:../_doc/_odoc/reference/patch/patch 107259 + -L 107260 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 107261 + -L 107262 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 107263 + -L 107264 + portable.common:../_doc/_odoc/reference/portable/portable.common 107265 + -L 107266 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 107267 + -L 107268 + portable:../_doc/_odoc/reference/portable/portable 107269 + -L 107270 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 107271 + -L 107272 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 107273 + -L 107274 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 107275 + -L 107276 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 107277 + -L 107278 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 107279 + -L 107280 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 107281 + -L 107282 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 107283 + -L 107284 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 107285 + -L 107286 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 107287 + -L 107288 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 107289 + -L 107290 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 107291 + -L 107292 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 107293 + -L 107294 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 107295 + -L 107296 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 107297 + -L 107298 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 107299 + -L 107300 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 107301 + -L 107302 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 107303 + -L 107304 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 107305 + -L 107306 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 107307 + -L 107308 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 107309 + -L 107310 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 107311 + -L 107312 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 107313 + -L 107314 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 107315 + -L 107316 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 107317 + -L 107318 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 107319 + -L 107320 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 107321 + -L 107322 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 107323 + -L 107324 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 107325 + -L 107326 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 107327 + -L 107328 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 107329 + -L 107330 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 107331 + -L 107332 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 107333 + -L 107334 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 107335 + -L 107336 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 107337 + -L 107338 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 107339 + -L 107340 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 107341 + -L 107342 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 107343 + -L 107344 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 107345 + -L 107346 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 107347 + -L 107348 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 107349 + -L 107350 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 107351 + -L 107352 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 107353 + -L 107354 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 107355 + -L 107356 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 107357 + -L 107358 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 107359 + -L 107360 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 107361 + -L 107362 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 107363 + -L 107364 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 107365 + -L 107366 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 107367 + -L 107368 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 107369 + -L 107370 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 107371 + -L 107372 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 107373 + -L 107374 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 107375 + -L 107376 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 107377 + -L 107378 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 107379 + -L 107380 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 107381 + -L 107382 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 107383 + -L 107384 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 107385 + -L 107386 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 107387 + -L 107388 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 107389 + -L 107390 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 107391 + -L 107392 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 107393 + -L 107394 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 107395 + -L 107396 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 107397 + -L 107398 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 107399 + -L 107400 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 107401 + -L 107402 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 107403 + -L 107404 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 107405 + -L 107406 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 107407 + -L 107408 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 107409 + -L 107410 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 107411 + -L 107412 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 107413 + -L 107414 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 107415 + -L 107416 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 107417 + -L 107418 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 107419 + -L 107420 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 107421 + -L 107422 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 107423 + -L 107424 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 107425 + -L 107426 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 107427 + -L 107428 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 107429 + -L 107430 + progress:../_doc/_odoc/reference/progress/progress 107431 + -L 107432 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 107433 + -L 107434 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 107435 + -L 107436 + psq:../_doc/_odoc/reference/psq/psq 107437 + -L 107438 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 107439 + -L 107440 + re.emacs:../_doc/_odoc/reference/re/re.emacs 107441 + -L 107442 + re.glob:../_doc/_odoc/reference/re/re.glob 107443 + -L 107444 + re.pcre:../_doc/_odoc/reference/re/re.pcre 107445 + -L 107446 + re.perl:../_doc/_odoc/reference/re/re.perl 107447 + -L 107448 + re.posix:../_doc/_odoc/reference/re/re.posix 107449 + -L 107450 + re:../_doc/_odoc/reference/re/re 107451 + -L 107452 + re.str:../_doc/_odoc/reference/re/re.str 107453 + -L 107454 + rresult:../_doc/_odoc/reference/rresult/rresult 107455 + -L 107456 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 107457 + -L 107458 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 107459 + -L 107460 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 107461 + -L 107462 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 107463 + -L 107464 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 107465 + -L 107466 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 107467 + -L 107468 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 107469 + -L 107470 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 107471 + -L 107472 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 107473 + -L 107474 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 107475 + -L 107476 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 107477 + -L 107478 + sha:../_doc/_odoc/reference/sha/sha 107479 + -L 107480 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 107481 + -L 107482 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 107483 + -L 107484 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 107485 + -L 107486 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 107487 + -L 107488 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 107489 + -L 107490 + spawn:../_doc/_odoc/reference/spawn/spawn 107491 + -L 107492 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 107493 + -L 107494 + stdio:../_doc/_odoc/reference/stdio/stdio 107495 + -L 107496 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 107497 + -L 107498 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 107499 + -L 107500 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 107501 + -L 107502 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 107503 + -L 107504 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 107505 + -L 107506 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 107507 + -L 107508 + stringext:../_doc/_odoc/reference/stringext/stringext 107509 + -L 107510 + str:../_doc/_odoc/reference/ocaml-variants/str 107511 + -L 107512 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 107513 + -L 107514 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 107515 + -L 107516 + terminal:../_doc/_odoc/reference/terminal/terminal 107517 + -L 107518 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 107519 + -L 107520 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 107521 + -L 107522 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 107523 + -L 107524 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 107525 + -L 107526 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 107527 + -L 107528 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 107529 + -L 107530 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 107531 + -L 107532 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 107533 + -L 107534 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 107535 + -L 107536 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 107537 + -L 107538 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 107539 + -L 107540 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 107541 + -L 107542 + threads:../_doc/_odoc/reference/ocaml-variants/threads 107543 + -L 107544 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 107545 + -L 107546 + time_now:../_doc/_odoc/reference/time_now/time_now 107547 + -L 107548 + typerep:../_doc/_odoc/reference/typerep/typerep 107549 + -L 107550 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 107551 + -L 107552 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 107553 + -L 107554 + unique:../_doc/_odoc/reference/unique/unique 107555 + -L 107556 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 107557 + -L 107558 + unix:../_doc/_odoc/reference/ocaml-variants/unix 107559 + -L 107560 + uopt:../_doc/_odoc/reference/uopt/uopt 107561 + -L 107562 + uring:../_doc/_odoc/reference/uring/uring 107563 + -L 107564 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 107565 + -L 107566 + uri.services:../_doc/_odoc/reference/uri/uri.services 107567 + -L 107568 + uri:../_doc/_odoc/reference/uri/uri 107569 + -L 107570 + uucp:../_doc/_odoc/reference/uucp/uucp 107571 + -L 107572 + uutf:../_doc/_odoc/reference/uutf/uutf 107573 + -L 107574 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 107575 + -L 107576 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 107577 + -L 107578 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 107579 + -L 107580 + yojson:../_doc/_odoc/reference/yojson/yojson 107581 + -L 107582 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 107583 + -L 107584 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 107585 + -o 107586 + _odoc/tags/page-teaching.odocl) 107587 + (run 107588 + odoc 107589 + link 107590 + --warn-error 107591 + _odoc/tags/page-tessera.odoc 107592 + -P 107593 + site:_odoc 107594 + -P 107595 + angstrom:../_doc/_odoc/reference/angstrom 107596 + -P 107597 + angstrom-async:../_doc/_odoc/reference/angstrom-async 107598 + -P 107599 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 107600 + -P 107601 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 107602 + -P 107603 + astring:../_doc/_odoc/reference/astring 107604 + -P 107605 + async:../_doc/_odoc/reference/async 107606 + -P 107607 + async_kernel:../_doc/_odoc/reference/async_kernel 107608 + -P 107609 + async_log:../_doc/_odoc/reference/async_log 107610 + -P 107611 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 107612 + -P 107613 + async_unix:../_doc/_odoc/reference/async_unix 107614 + -P 107615 + base64:../_doc/_odoc/reference/base64 107616 + -P 107617 + base:../_doc/_odoc/reference/base 107618 + -P 107619 + base_bigstring:../_doc/_odoc/reference/base_bigstring 107620 + -P 107621 + basement:../_doc/_odoc/reference/basement 107622 + -P 107623 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 107624 + -P 107625 + bigstringaf:../_doc/_odoc/reference/bigstringaf 107626 + -P 107627 + bin_prot:../_doc/_odoc/reference/bin_prot 107628 + -P 107629 + bos:../_doc/_odoc/reference/bos 107630 + -P 107631 + brr:../_doc/_odoc/reference/brr 107632 + -P 107633 + camlp-streams:../_doc/_odoc/reference/camlp-streams 107634 + -P 107635 + capsule0:../_doc/_odoc/reference/capsule0 107636 + -P 107637 + capsule:../_doc/_odoc/reference/capsule 107638 + -P 107639 + cmdliner:../_doc/_odoc/reference/cmdliner 107640 + -P 107641 + code-mirror:../_doc/_odoc/reference/code-mirror 107642 + -P 107643 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 107644 + -P 107645 + core:../_doc/_odoc/reference/core 107646 + -P 107647 + core_extended:../_doc/_odoc/reference/core_extended 107648 + -P 107649 + core_kernel:../_doc/_odoc/reference/core_kernel 107650 + -P 107651 + core_unix:../_doc/_odoc/reference/core_unix 107652 + -P 107653 + csexp:../_doc/_odoc/reference/csexp 107654 + -P 107655 + cstruct:../_doc/_odoc/reference/cstruct 107656 + -P 107657 + decompress:../_doc/_odoc/reference/decompress 107658 + -P 107659 + odoc:../_doc/_odoc/reference/odoc 107660 + -P 107661 + domain-local-await:../_doc/_odoc/reference/domain-local-await 107662 + -P 107663 + eio:../_doc/_odoc/reference/eio 107664 + -P 107665 + eio_linux:../_doc/_odoc/reference/eio_linux 107666 + -P 107667 + eio_main:../_doc/_odoc/reference/eio_main 107668 + -P 107669 + eio_posix:../_doc/_odoc/reference/eio_posix 107670 + -P 107671 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 107672 + -P 107673 + fieldslib:../_doc/_odoc/reference/fieldslib 107674 + -P 107675 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 107676 + -P 107677 + fmt:../_doc/_odoc/reference/fmt 107678 + -P 107679 + fpath:../_doc/_odoc/reference/fpath 107680 + -P 107681 + gen:../_doc/_odoc/reference/gen 107682 + -P 107683 + hmap:../_doc/_odoc/reference/hmap 107684 + -P 107685 + int_repr:../_doc/_odoc/reference/int_repr 107686 + -P 107687 + iomux:../_doc/_odoc/reference/iomux 107688 + -P 107689 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 107690 + -P 107691 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 107692 + -P 107693 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 107694 + -P 107695 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 107696 + -P 107697 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 107698 + -P 107699 + jsonm:../_doc/_odoc/reference/jsonm 107700 + -P 107701 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 107702 + -P 107703 + js_top_worker:../_doc/_odoc/reference/js_top_worker 107704 + -P 107705 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 107706 + -P 107707 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 107708 + -P 107709 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 107710 + -P 107711 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 107712 + -P 107713 + logs:../_doc/_odoc/reference/logs 107714 + -P 107715 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 107716 + -P 107717 + lwt:../_doc/_odoc/reference/lwt 107718 + -P 107719 + menhirLib:../_doc/_odoc/reference/menhirLib 107720 + -P 107721 + merlin-js:../_doc/_odoc/reference/merlin-js 107722 + -P 107723 + merlin-lib:../_doc/_odoc/reference/merlin-lib 107724 + -P 107725 + mime_printer:../_doc/_odoc/reference/mime_printer 107726 + -P 107727 + mtime:../_doc/_odoc/reference/mtime 107728 + -P 107729 + note:../_doc/_odoc/reference/note 107730 + -P 107731 + num:../_doc/_odoc/reference/num 107732 + -P 107733 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 107734 + -P 107735 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 107736 + -P 107737 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 107738 + -P 107739 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 107740 + -P 107741 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 107742 + -P 107743 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 107744 + -P 107745 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 107746 + -P 107747 + odoc-driver:../_doc/_odoc/reference/odoc-driver 107748 + -P 107749 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 107750 + -P 107751 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 107752 + -P 107753 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 107754 + -P 107755 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 107756 + -P 107757 + odoc-parser:../_doc/_odoc/reference/odoc-parser 107758 + -P 107759 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 107760 + -P 107761 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 107762 + -P 107763 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 107764 + -P 107765 + onnxrt:../_doc/_odoc/reference/onnxrt 107766 + -P 107767 + opam-core:../_doc/_odoc/reference/opam-core 107768 + -P 107769 + opam-file-format:../_doc/_odoc/reference/opam-file-format 107770 + -P 107771 + opam-format:../_doc/_odoc/reference/opam-format 107772 + -P 107773 + optint:../_doc/_odoc/reference/optint 107774 + -P 107775 + parsexp:../_doc/_odoc/reference/parsexp 107776 + -P 107777 + patch:../_doc/_odoc/reference/patch 107778 + -P 107779 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 107780 + -P 107781 + portable:../_doc/_odoc/reference/portable 107782 + -P 107783 + ppx_assert:../_doc/_odoc/reference/ppx_assert 107784 + -P 107785 + ppx_bench:../_doc/_odoc/reference/ppx_bench 107786 + -P 107787 + ppx_compare:../_doc/_odoc/reference/ppx_compare 107788 + -P 107789 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 107790 + -P 107791 + ppx_diff:../_doc/_odoc/reference/ppx_diff 107792 + -P 107793 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 107794 + -P 107795 + ppx_expect:../_doc/_odoc/reference/ppx_expect 107796 + -P 107797 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 107798 + -P 107799 + ppx_hash:../_doc/_odoc/reference/ppx_hash 107800 + -P 107801 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 107802 + -P 107803 + ppx_here:../_doc/_odoc/reference/ppx_here 107804 + -P 107805 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 107806 + -P 107807 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 107808 + -P 107809 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 107810 + -P 107811 + ppxlib:../_doc/_odoc/reference/ppxlib 107812 + -P 107813 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 107814 + -P 107815 + ppx_log:../_doc/_odoc/reference/ppx_log 107816 + -P 107817 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 107818 + -P 107819 + ppx_portable:../_doc/_odoc/reference/ppx_portable 107820 + -P 107821 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 107822 + -P 107823 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 107824 + -P 107825 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 107826 + -P 107827 + ppx_string:../_doc/_odoc/reference/ppx_string 107828 + -P 107829 + ppx_template:../_doc/_odoc/reference/ppx_template 107830 + -P 107831 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 107832 + -P 107833 + progress:../_doc/_odoc/reference/progress 107834 + -P 107835 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 107836 + -P 107837 + psq:../_doc/_odoc/reference/psq 107838 + -P 107839 + record_builder:../_doc/_odoc/reference/record_builder 107840 + -P 107841 + re:../_doc/_odoc/reference/re 107842 + -P 107843 + rresult:../_doc/_odoc/reference/rresult 107844 + -P 107845 + sedlex:../_doc/_odoc/reference/sedlex 107846 + -P 107847 + sexplib0:../_doc/_odoc/reference/sexplib0 107848 + -P 107849 + sexplib:../_doc/_odoc/reference/sexplib 107850 + -P 107851 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 107852 + -P 107853 + sexp_type:../_doc/_odoc/reference/sexp_type 107854 + -P 107855 + sha:../_doc/_odoc/reference/sha 107856 + -P 107857 + sherlodoc:../_doc/_odoc/reference/sherlodoc 107858 + -P 107859 + spawn:../_doc/_odoc/reference/spawn 107860 + -P 107861 + splittable_random:../_doc/_odoc/reference/splittable_random 107862 + -P 107863 + stdio:../_doc/_odoc/reference/stdio 107864 + -P 107865 + string_dict:../_doc/_odoc/reference/string_dict 107866 + -P 107867 + stringext:../_doc/_odoc/reference/stringext 107868 + -P 107869 + swhid_core:../_doc/_odoc/reference/swhid_core 107870 + -P 107871 + terminal:../_doc/_odoc/reference/terminal 107872 + -P 107873 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 107874 + -P 107875 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 107876 + -P 107877 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 107878 + -P 107879 + tessera-npy:../_doc/_odoc/reference/tessera-npy 107880 + -P 107881 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 107882 + -P 107883 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 107884 + -P 107885 + tessera-viz:../_doc/_odoc/reference/tessera-viz 107886 + -P 107887 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 107888 + -P 107889 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 107890 + -P 107891 + textutils:../_doc/_odoc/reference/textutils 107892 + -P 107893 + thread-table:../_doc/_odoc/reference/thread-table 107894 + -P 107895 + time_now:../_doc/_odoc/reference/time_now 107896 + -P 107897 + typerep:../_doc/_odoc/reference/typerep 107898 + -P 107899 + tyxml:../_doc/_odoc/reference/tyxml 107900 + -P 107901 + unique:../_doc/_odoc/reference/unique 107902 + -P 107903 + univ_map:../_doc/_odoc/reference/univ_map 107904 + -P 107905 + uopt:../_doc/_odoc/reference/uopt 107906 + -P 107907 + uring:../_doc/_odoc/reference/uring 107908 + -P 107909 + uri:../_doc/_odoc/reference/uri 107910 + -P 107911 + uucp:../_doc/_odoc/reference/uucp 107912 + -P 107913 + uutf:../_doc/_odoc/reference/uutf 107914 + -P 107915 + variantslib:../_doc/_odoc/reference/variantslib 107916 + -P 107917 + x-ocaml:../_doc/_odoc/reference/x-ocaml 107918 + -P 107919 + yojson:../_doc/_odoc/reference/yojson 107920 + -P 107921 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 107922 + -P 107923 + zarr-v3:../_doc/_odoc/reference/zarr-v3 107924 + -L 107925 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 107926 + -L 107927 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 107928 + -L 107929 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 107930 + -L 107931 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 107932 + -L 107933 + astring:../_doc/_odoc/reference/astring/astring 107934 + -L 107935 + async:../_doc/_odoc/reference/async/async 107936 + -L 107937 + async.async_command:../_doc/_odoc/reference/async/async.async_command 107938 + -L 107939 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 107940 + -L 107941 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 107942 + -L 107943 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 107944 + -L 107945 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 107946 + -L 107947 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 107948 + -L 107949 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 107950 + -L 107951 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 107952 + -L 107953 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 107954 + -L 107955 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 107956 + -L 107957 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 107958 + -L 107959 + async_log:../_doc/_odoc/reference/async_log/async_log 107960 + -L 107961 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 107962 + -L 107963 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 107964 + -L 107965 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 107966 + -L 107967 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 107968 + -L 107969 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 107970 + -L 107971 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 107972 + -L 107973 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 107974 + -L 107975 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 107976 + -L 107977 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 107978 + -L 107979 + base64:../_doc/_odoc/reference/base64/base64 107980 + -L 107981 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 107982 + -L 107983 + base:../_doc/_odoc/reference/base/base 107984 + -L 107985 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 107986 + -L 107987 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 107988 + -L 107989 + base.md5:../_doc/_odoc/reference/base/base.md5 107990 + -L 107991 + basement:../_doc/_odoc/reference/basement/basement 107992 + -L 107993 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 107994 + -L 107995 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 107996 + -L 107997 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 107998 + -L 107999 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 108000 + -L 108001 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 108002 + -L 108003 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 108004 + -L 108005 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 108006 + -L 108007 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 108008 + -L 108009 + bos:../_doc/_odoc/reference/bos/bos 108010 + -L 108011 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 108012 + -L 108013 + brr:../_doc/_odoc/reference/brr/brr 108014 + -L 108015 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 108016 + -L 108017 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 108018 + -L 108019 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 108020 + -L 108021 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 108022 + -L 108023 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 108024 + -L 108025 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 108026 + -L 108027 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 108028 + -L 108029 + capsule:../_doc/_odoc/reference/capsule/capsule 108030 + -L 108031 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 108032 + -L 108033 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 108034 + -L 108035 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 108036 + -L 108037 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 108038 + -L 108039 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 108040 + -L 108041 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 108042 + -L 108043 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 108044 + -L 108045 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 108046 + -L 108047 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 108048 + -L 108049 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 108050 + -L 108051 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 108052 + -L 108053 + core.command:../_doc/_odoc/reference/core/core.command 108054 + -L 108055 + core:../_doc/_odoc/reference/core/core 108056 + -L 108057 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 108058 + -L 108059 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 108060 + -L 108061 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 108062 + -L 108063 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 108064 + -L 108065 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 108066 + -L 108067 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 108068 + -L 108069 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 108070 + -L 108071 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 108072 + -L 108073 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 108074 + -L 108075 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 108076 + -L 108077 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 108078 + -L 108079 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 108080 + -L 108081 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 108082 + -L 108083 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 108084 + -L 108085 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 108086 + -L 108087 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 108088 + -L 108089 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 108090 + -L 108091 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 108092 + -L 108093 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 108094 + -L 108095 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 108096 + -L 108097 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 108098 + -L 108099 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 108100 + -L 108101 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 108102 + -L 108103 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 108104 + -L 108105 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 108106 + -L 108107 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 108108 + -L 108109 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 108110 + -L 108111 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 108112 + -L 108113 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 108114 + -L 108115 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 108116 + -L 108117 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 108118 + -L 108119 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 108120 + -L 108121 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 108122 + -L 108123 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 108124 + -L 108125 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 108126 + -L 108127 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 108128 + -L 108129 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 108130 + -L 108131 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 108132 + -L 108133 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 108134 + -L 108135 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 108136 + -L 108137 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 108138 + -L 108139 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 108140 + -L 108141 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 108142 + -L 108143 + core.top:../_doc/_odoc/reference/core/core.top 108144 + -L 108145 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 108146 + -L 108147 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 108148 + -L 108149 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 108150 + -L 108151 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 108152 + -L 108153 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 108154 + -L 108155 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 108156 + -L 108157 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 108158 + -L 108159 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 108160 + -L 108161 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 108162 + -L 108163 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 108164 + -L 108165 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 108166 + -L 108167 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 108168 + -L 108169 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 108170 + -L 108171 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 108172 + -L 108173 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 108174 + -L 108175 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 108176 + -L 108177 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 108178 + -L 108179 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 108180 + -L 108181 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 108182 + -L 108183 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 108184 + -L 108185 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 108186 + -L 108187 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 108188 + -L 108189 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 108190 + -L 108191 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 108192 + -L 108193 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 108194 + -L 108195 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 108196 + -L 108197 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 108198 + -L 108199 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 108200 + -L 108201 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 108202 + -L 108203 + core.validate:../_doc/_odoc/reference/core/core.validate 108204 + -L 108205 + csexp:../_doc/_odoc/reference/csexp/csexp 108206 + -L 108207 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 108208 + -L 108209 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 108210 + -L 108211 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 108212 + -L 108213 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 108214 + -L 108215 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 108216 + -L 108217 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 108218 + -L 108219 + deprecated:../_doc/_odoc/reference/odoc/deprecated 108220 + -L 108221 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 108222 + -L 108223 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 108224 + -L 108225 + eio.core:../_doc/_odoc/reference/eio/eio.core 108226 + -L 108227 + eio:../_doc/_odoc/reference/eio/eio 108228 + -L 108229 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 108230 + -L 108231 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 108232 + -L 108233 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 108234 + -L 108235 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 108236 + -L 108237 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 108238 + -L 108239 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 108240 + -L 108241 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 108242 + -L 108243 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 108244 + -L 108245 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 108246 + -L 108247 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 108248 + -L 108249 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 108250 + -L 108251 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 108252 + -L 108253 + fmt:../_doc/_odoc/reference/fmt/fmt 108254 + -L 108255 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 108256 + -L 108257 + fpath:../_doc/_odoc/reference/fpath/fpath 108258 + -L 108259 + gen:../_doc/_odoc/reference/gen/gen 108260 + -L 108261 + hmap:../_doc/_odoc/reference/hmap/hmap 108262 + -L 108263 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 108264 + -L 108265 + iomux:../_doc/_odoc/reference/iomux/iomux 108266 + -L 108267 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 108268 + -L 108269 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 108270 + -L 108271 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 108272 + -L 108273 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 108274 + -L 108275 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 108276 + -L 108277 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 108278 + -L 108279 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 108280 + -L 108281 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 108282 + -L 108283 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 108284 + -L 108285 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 108286 + -L 108287 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 108288 + -L 108289 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 108290 + -L 108291 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 108292 + -L 108293 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 108294 + -L 108295 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 108296 + -L 108297 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 108298 + -L 108299 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 108300 + -L 108301 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 108302 + -L 108303 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 108304 + -L 108305 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 108306 + -L 108307 + logs:../_doc/_odoc/reference/logs/logs 108308 + -L 108309 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 108310 + -L 108311 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 108312 + -L 108313 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 108314 + -L 108315 + lwt:../_doc/_odoc/reference/lwt/lwt 108316 + -L 108317 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 108318 + -L 108319 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 108320 + -L 108321 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 108322 + -L 108323 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 108324 + -L 108325 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 108326 + -L 108327 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 108328 + -L 108329 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 108330 + -L 108331 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 108332 + -L 108333 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 108334 + -L 108335 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 108336 + -L 108337 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 108338 + -L 108339 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 108340 + -L 108341 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 108342 + -L 108343 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 108344 + -L 108345 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 108346 + -L 108347 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 108348 + -L 108349 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 108350 + -L 108351 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 108352 + -L 108353 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 108354 + -L 108355 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 108356 + -L 108357 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 108358 + -L 108359 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 108360 + -L 108361 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 108362 + -L 108363 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 108364 + -L 108365 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 108366 + -L 108367 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 108368 + -L 108369 + mtime:../_doc/_odoc/reference/mtime/mtime 108370 + -L 108371 + note.brr:../_doc/_odoc/reference/note/note.brr 108372 + -L 108373 + note:../_doc/_odoc/reference/note/note 108374 + -L 108375 + num.core:../_doc/_odoc/reference/num/num.core 108376 + -L 108377 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 108378 + -L 108379 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 108380 + -L 108381 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 108382 + -L 108383 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 108384 + -L 108385 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 108386 + -L 108387 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 108388 + -L 108389 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 108390 + -L 108391 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 108392 + -L 108393 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 108394 + -L 108395 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 108396 + -L 108397 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 108398 + -L 108399 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 108400 + -L 108401 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 108402 + -L 108403 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 108404 + -L 108405 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 108406 + -L 108407 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 108408 + -L 108409 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 108410 + -L 108411 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 108412 + -L 108413 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 108414 + -L 108415 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 108416 + -L 108417 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 108418 + -L 108419 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 108420 + -L 108421 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 108422 + -L 108423 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 108424 + -L 108425 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 108426 + -L 108427 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 108428 + -L 108429 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 108430 + -L 108431 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 108432 + -L 108433 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 108434 + -L 108435 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 108436 + -L 108437 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 108438 + -L 108439 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 108440 + -L 108441 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 108442 + -L 108443 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 108444 + -L 108445 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 108446 + -L 108447 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 108448 + -L 108449 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 108450 + -L 108451 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 108452 + -L 108453 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 108454 + -L 108455 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 108456 + -L 108457 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 108458 + -L 108459 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 108460 + -L 108461 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 108462 + -L 108463 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 108464 + -L 108465 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 108466 + -L 108467 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 108468 + -L 108469 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 108470 + -L 108471 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 108472 + -L 108473 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 108474 + -L 108475 + optint:../_doc/_odoc/reference/optint/optint 108476 + -L 108477 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 108478 + -L 108479 + patch:../_doc/_odoc/reference/patch/patch 108480 + -L 108481 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 108482 + -L 108483 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 108484 + -L 108485 + portable.common:../_doc/_odoc/reference/portable/portable.common 108486 + -L 108487 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 108488 + -L 108489 + portable:../_doc/_odoc/reference/portable/portable 108490 + -L 108491 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 108492 + -L 108493 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 108494 + -L 108495 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 108496 + -L 108497 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 108498 + -L 108499 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 108500 + -L 108501 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 108502 + -L 108503 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 108504 + -L 108505 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 108506 + -L 108507 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 108508 + -L 108509 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 108510 + -L 108511 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 108512 + -L 108513 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 108514 + -L 108515 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 108516 + -L 108517 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 108518 + -L 108519 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 108520 + -L 108521 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 108522 + -L 108523 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 108524 + -L 108525 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 108526 + -L 108527 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 108528 + -L 108529 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 108530 + -L 108531 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 108532 + -L 108533 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 108534 + -L 108535 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 108536 + -L 108537 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 108538 + -L 108539 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 108540 + -L 108541 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 108542 + -L 108543 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 108544 + -L 108545 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 108546 + -L 108547 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 108548 + -L 108549 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 108550 + -L 108551 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 108552 + -L 108553 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 108554 + -L 108555 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 108556 + -L 108557 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 108558 + -L 108559 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 108560 + -L 108561 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 108562 + -L 108563 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 108564 + -L 108565 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 108566 + -L 108567 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 108568 + -L 108569 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 108570 + -L 108571 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 108572 + -L 108573 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 108574 + -L 108575 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 108576 + -L 108577 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 108578 + -L 108579 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 108580 + -L 108581 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 108582 + -L 108583 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 108584 + -L 108585 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 108586 + -L 108587 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 108588 + -L 108589 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 108590 + -L 108591 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 108592 + -L 108593 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 108594 + -L 108595 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 108596 + -L 108597 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 108598 + -L 108599 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 108600 + -L 108601 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 108602 + -L 108603 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 108604 + -L 108605 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 108606 + -L 108607 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 108608 + -L 108609 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 108610 + -L 108611 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 108612 + -L 108613 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 108614 + -L 108615 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 108616 + -L 108617 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 108618 + -L 108619 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 108620 + -L 108621 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 108622 + -L 108623 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 108624 + -L 108625 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 108626 + -L 108627 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 108628 + -L 108629 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 108630 + -L 108631 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 108632 + -L 108633 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 108634 + -L 108635 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 108636 + -L 108637 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 108638 + -L 108639 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 108640 + -L 108641 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 108642 + -L 108643 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 108644 + -L 108645 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 108646 + -L 108647 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 108648 + -L 108649 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 108650 + -L 108651 + progress:../_doc/_odoc/reference/progress/progress 108652 + -L 108653 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 108654 + -L 108655 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 108656 + -L 108657 + psq:../_doc/_odoc/reference/psq/psq 108658 + -L 108659 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 108660 + -L 108661 + re.emacs:../_doc/_odoc/reference/re/re.emacs 108662 + -L 108663 + re.glob:../_doc/_odoc/reference/re/re.glob 108664 + -L 108665 + re.pcre:../_doc/_odoc/reference/re/re.pcre 108666 + -L 108667 + re.perl:../_doc/_odoc/reference/re/re.perl 108668 + -L 108669 + re.posix:../_doc/_odoc/reference/re/re.posix 108670 + -L 108671 + re:../_doc/_odoc/reference/re/re 108672 + -L 108673 + re.str:../_doc/_odoc/reference/re/re.str 108674 + -L 108675 + rresult:../_doc/_odoc/reference/rresult/rresult 108676 + -L 108677 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 108678 + -L 108679 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 108680 + -L 108681 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 108682 + -L 108683 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 108684 + -L 108685 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 108686 + -L 108687 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 108688 + -L 108689 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 108690 + -L 108691 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 108692 + -L 108693 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 108694 + -L 108695 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 108696 + -L 108697 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 108698 + -L 108699 + sha:../_doc/_odoc/reference/sha/sha 108700 + -L 108701 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 108702 + -L 108703 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 108704 + -L 108705 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 108706 + -L 108707 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 108708 + -L 108709 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 108710 + -L 108711 + spawn:../_doc/_odoc/reference/spawn/spawn 108712 + -L 108713 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 108714 + -L 108715 + stdio:../_doc/_odoc/reference/stdio/stdio 108716 + -L 108717 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 108718 + -L 108719 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 108720 + -L 108721 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 108722 + -L 108723 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 108724 + -L 108725 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 108726 + -L 108727 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 108728 + -L 108729 + stringext:../_doc/_odoc/reference/stringext/stringext 108730 + -L 108731 + str:../_doc/_odoc/reference/ocaml-variants/str 108732 + -L 108733 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 108734 + -L 108735 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 108736 + -L 108737 + terminal:../_doc/_odoc/reference/terminal/terminal 108738 + -L 108739 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 108740 + -L 108741 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 108742 + -L 108743 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 108744 + -L 108745 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 108746 + -L 108747 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 108748 + -L 108749 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 108750 + -L 108751 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 108752 + -L 108753 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 108754 + -L 108755 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 108756 + -L 108757 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 108758 + -L 108759 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 108760 + -L 108761 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 108762 + -L 108763 + threads:../_doc/_odoc/reference/ocaml-variants/threads 108764 + -L 108765 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 108766 + -L 108767 + time_now:../_doc/_odoc/reference/time_now/time_now 108768 + -L 108769 + typerep:../_doc/_odoc/reference/typerep/typerep 108770 + -L 108771 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 108772 + -L 108773 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 108774 + -L 108775 + unique:../_doc/_odoc/reference/unique/unique 108776 + -L 108777 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 108778 + -L 108779 + unix:../_doc/_odoc/reference/ocaml-variants/unix 108780 + -L 108781 + uopt:../_doc/_odoc/reference/uopt/uopt 108782 + -L 108783 + uring:../_doc/_odoc/reference/uring/uring 108784 + -L 108785 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 108786 + -L 108787 + uri.services:../_doc/_odoc/reference/uri/uri.services 108788 + -L 108789 + uri:../_doc/_odoc/reference/uri/uri 108790 + -L 108791 + uucp:../_doc/_odoc/reference/uucp/uucp 108792 + -L 108793 + uutf:../_doc/_odoc/reference/uutf/uutf 108794 + -L 108795 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 108796 + -L 108797 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 108798 + -L 108799 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 108800 + -L 108801 + yojson:../_doc/_odoc/reference/yojson/yojson 108802 + -L 108803 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 108804 + -L 108805 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 108806 + -o 108807 + _odoc/tags/page-tessera.odocl) 108808 + (run 108809 + odoc 108810 + link 108811 + --warn-error 108812 + _odoc/tags/page-weeknotes.odoc 108813 + -P 108814 + site:_odoc 108815 + -P 108816 + angstrom:../_doc/_odoc/reference/angstrom 108817 + -P 108818 + angstrom-async:../_doc/_odoc/reference/angstrom-async 108819 + -P 108820 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix 108821 + -P 108822 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix 108823 + -P 108824 + astring:../_doc/_odoc/reference/astring 108825 + -P 108826 + async:../_doc/_odoc/reference/async 108827 + -P 108828 + async_kernel:../_doc/_odoc/reference/async_kernel 108829 + -P 108830 + async_log:../_doc/_odoc/reference/async_log 108831 + -P 108832 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel 108833 + -P 108834 + async_unix:../_doc/_odoc/reference/async_unix 108835 + -P 108836 + base64:../_doc/_odoc/reference/base64 108837 + -P 108838 + base:../_doc/_odoc/reference/base 108839 + -P 108840 + base_bigstring:../_doc/_odoc/reference/base_bigstring 108841 + -P 108842 + basement:../_doc/_odoc/reference/basement 108843 + -P 108844 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck 108845 + -P 108846 + bigstringaf:../_doc/_odoc/reference/bigstringaf 108847 + -P 108848 + bin_prot:../_doc/_odoc/reference/bin_prot 108849 + -P 108850 + bos:../_doc/_odoc/reference/bos 108851 + -P 108852 + brr:../_doc/_odoc/reference/brr 108853 + -P 108854 + camlp-streams:../_doc/_odoc/reference/camlp-streams 108855 + -P 108856 + capsule0:../_doc/_odoc/reference/capsule0 108857 + -P 108858 + capsule:../_doc/_odoc/reference/capsule 108859 + -P 108860 + cmdliner:../_doc/_odoc/reference/cmdliner 108861 + -P 108862 + code-mirror:../_doc/_odoc/reference/code-mirror 108863 + -P 108864 + ocaml-variants:../_doc/_odoc/reference/ocaml-variants 108865 + -P 108866 + core:../_doc/_odoc/reference/core 108867 + -P 108868 + core_extended:../_doc/_odoc/reference/core_extended 108869 + -P 108870 + core_kernel:../_doc/_odoc/reference/core_kernel 108871 + -P 108872 + core_unix:../_doc/_odoc/reference/core_unix 108873 + -P 108874 + csexp:../_doc/_odoc/reference/csexp 108875 + -P 108876 + cstruct:../_doc/_odoc/reference/cstruct 108877 + -P 108878 + decompress:../_doc/_odoc/reference/decompress 108879 + -P 108880 + odoc:../_doc/_odoc/reference/odoc 108881 + -P 108882 + domain-local-await:../_doc/_odoc/reference/domain-local-await 108883 + -P 108884 + eio:../_doc/_odoc/reference/eio 108885 + -P 108886 + eio_linux:../_doc/_odoc/reference/eio_linux 108887 + -P 108888 + eio_main:../_doc/_odoc/reference/eio_main 108889 + -P 108890 + eio_posix:../_doc/_odoc/reference/eio_posix 108891 + -P 108892 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core 108893 + -P 108894 + fieldslib:../_doc/_odoc/reference/fieldslib 108895 + -P 108896 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp 108897 + -P 108898 + fmt:../_doc/_odoc/reference/fmt 108899 + -P 108900 + fpath:../_doc/_odoc/reference/fpath 108901 + -P 108902 + gen:../_doc/_odoc/reference/gen 108903 + -P 108904 + hmap:../_doc/_odoc/reference/hmap 108905 + -P 108906 + int_repr:../_doc/_odoc/reference/int_repr 108907 + -P 108908 + iomux:../_doc/_odoc/reference/iomux 108909 + -P 108910 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers 108911 + -P 108912 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler 108913 + -P 108914 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml 108915 + -P 108916 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt 108917 + -P 108918 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel 108919 + -P 108920 + jsonm:../_doc/_odoc/reference/jsonm 108921 + -P 108922 + js_top_worker-client:../_doc/_odoc/reference/js_top_worker-client 108923 + -P 108924 + js_top_worker:../_doc/_odoc/reference/js_top_worker 108925 + -P 108926 + js_top_worker-rpc:../_doc/_odoc/reference/js_top_worker-rpc 108927 + -P 108928 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web 108929 + -P 108930 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget 108931 + -P 108932 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet 108933 + -P 108934 + logs:../_doc/_odoc/reference/logs 108935 + -P 108936 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist 108937 + -P 108938 + lwt:../_doc/_odoc/reference/lwt 108939 + -P 108940 + menhirLib:../_doc/_odoc/reference/menhirLib 108941 + -P 108942 + merlin-js:../_doc/_odoc/reference/merlin-js 108943 + -P 108944 + merlin-lib:../_doc/_odoc/reference/merlin-lib 108945 + -P 108946 + mime_printer:../_doc/_odoc/reference/mime_printer 108947 + -P 108948 + mtime:../_doc/_odoc/reference/mtime 108949 + -P 108950 + note:../_doc/_odoc/reference/note 108951 + -P 108952 + num:../_doc/_odoc/reference/num 108953 + -P 108954 + ocaml-compiler-libs:../_doc/_odoc/reference/ocaml-compiler-libs 108955 + -P 108956 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph 108957 + -P 108958 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel 108959 + -P 108960 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian 108961 + -P 108962 + odoc-admonition-extension:../_doc/_odoc/reference/odoc-admonition-extension 108963 + -P 108964 + odoc-docsite:../_doc/_odoc/reference/odoc-docsite 108965 + -P 108966 + odoc-dot-extension:../_doc/_odoc/reference/odoc-dot-extension 108967 + -P 108968 + odoc-driver:../_doc/_odoc/reference/odoc-driver 108969 + -P 108970 + odoc-interactive-extension:../_doc/_odoc/reference/odoc-interactive-extension 108971 + -P 108972 + odoc-jons-plugins:../_doc/_odoc/reference/odoc-jons-plugins 108973 + -P 108974 + odoc-mermaid-extension:../_doc/_odoc/reference/odoc-mermaid-extension 108975 + -P 108976 + odoc-msc-extension:../_doc/_odoc/reference/odoc-msc-extension 108977 + -P 108978 + odoc-parser:../_doc/_odoc/reference/odoc-parser 108979 + -P 108980 + odoc-rfc-extension:../_doc/_odoc/reference/odoc-rfc-extension 108981 + -P 108982 + odoc-scrollycode-extension:../_doc/_odoc/reference/odoc-scrollycode-extension 108983 + -P 108984 + odoc-standalone:../_doc/_odoc/reference/odoc-standalone 108985 + -P 108986 + onnxrt:../_doc/_odoc/reference/onnxrt 108987 + -P 108988 + opam-core:../_doc/_odoc/reference/opam-core 108989 + -P 108990 + opam-file-format:../_doc/_odoc/reference/opam-file-format 108991 + -P 108992 + opam-format:../_doc/_odoc/reference/opam-format 108993 + -P 108994 + optint:../_doc/_odoc/reference/optint 108995 + -P 108996 + parsexp:../_doc/_odoc/reference/parsexp 108997 + -P 108998 + patch:../_doc/_odoc/reference/patch 108999 + -P 109000 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error 109001 + -P 109002 + portable:../_doc/_odoc/reference/portable 109003 + -P 109004 + ppx_assert:../_doc/_odoc/reference/ppx_assert 109005 + -P 109006 + ppx_bench:../_doc/_odoc/reference/ppx_bench 109007 + -P 109008 + ppx_compare:../_doc/_odoc/reference/ppx_compare 109009 + -P 109010 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers 109011 + -P 109012 + ppx_diff:../_doc/_odoc/reference/ppx_diff 109013 + -P 109014 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate 109015 + -P 109016 + ppx_expect:../_doc/_odoc/reference/ppx_expect 109017 + -P 109018 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof 109019 + -P 109020 + ppx_hash:../_doc/_odoc/reference/ppx_hash 109021 + -P 109022 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers 109023 + -P 109024 + ppx_here:../_doc/_odoc/reference/ppx_here 109025 + -P 109026 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test 109027 + -P 109028 + ppxlib_ast:../_doc/_odoc/reference/ppxlib_ast 109029 + -P 109030 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane 109031 + -P 109032 + ppxlib:../_doc/_odoc/reference/ppxlib 109033 + -P 109034 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register 109035 + -P 109036 + ppx_log:../_doc/_odoc/reference/ppx_log 109037 + -P 109038 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer 109039 + -P 109040 + ppx_portable:../_doc/_odoc/reference/ppx_portable 109041 + -P 109042 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv 109043 + -P 109044 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message 109045 + -P 109046 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness 109047 + -P 109048 + ppx_string:../_doc/_odoc/reference/ppx_string 109049 + -P 109050 + ppx_template:../_doc/_odoc/reference/ppx_template 109051 + -P 109052 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields 109053 + -P 109054 + progress:../_doc/_odoc/reference/progress 109055 + -P 109056 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header 109057 + -P 109058 + psq:../_doc/_odoc/reference/psq 109059 + -P 109060 + record_builder:../_doc/_odoc/reference/record_builder 109061 + -P 109062 + re:../_doc/_odoc/reference/re 109063 + -P 109064 + rresult:../_doc/_odoc/reference/rresult 109065 + -P 109066 + sedlex:../_doc/_odoc/reference/sedlex 109067 + -P 109068 + sexplib0:../_doc/_odoc/reference/sexplib0 109069 + -P 109070 + sexplib:../_doc/_odoc/reference/sexplib 109071 + -P 109072 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty 109073 + -P 109074 + sexp_type:../_doc/_odoc/reference/sexp_type 109075 + -P 109076 + sha:../_doc/_odoc/reference/sha 109077 + -P 109078 + sherlodoc:../_doc/_odoc/reference/sherlodoc 109079 + -P 109080 + spawn:../_doc/_odoc/reference/spawn 109081 + -P 109082 + splittable_random:../_doc/_odoc/reference/splittable_random 109083 + -P 109084 + stdio:../_doc/_odoc/reference/stdio 109085 + -P 109086 + string_dict:../_doc/_odoc/reference/string_dict 109087 + -P 109088 + stringext:../_doc/_odoc/reference/stringext 109089 + -P 109090 + swhid_core:../_doc/_odoc/reference/swhid_core 109091 + -P 109092 + terminal:../_doc/_odoc/reference/terminal 109093 + -P 109094 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo 109095 + -P 109096 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera 109097 + -P 109098 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg 109099 + -P 109100 + tessera-npy:../_doc/_odoc/reference/tessera-npy 109101 + -P 109102 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs 109103 + -P 109104 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo 109105 + -P 109106 + tessera-viz:../_doc/_odoc/reference/tessera-viz 109107 + -P 109108 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo 109109 + -P 109110 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr 109111 + -P 109112 + textutils:../_doc/_odoc/reference/textutils 109113 + -P 109114 + thread-table:../_doc/_odoc/reference/thread-table 109115 + -P 109116 + time_now:../_doc/_odoc/reference/time_now 109117 + -P 109118 + typerep:../_doc/_odoc/reference/typerep 109119 + -P 109120 + tyxml:../_doc/_odoc/reference/tyxml 109121 + -P 109122 + unique:../_doc/_odoc/reference/unique 109123 + -P 109124 + univ_map:../_doc/_odoc/reference/univ_map 109125 + -P 109126 + uopt:../_doc/_odoc/reference/uopt 109127 + -P 109128 + uring:../_doc/_odoc/reference/uring 109129 + -P 109130 + uri:../_doc/_odoc/reference/uri 109131 + -P 109132 + uucp:../_doc/_odoc/reference/uucp 109133 + -P 109134 + uutf:../_doc/_odoc/reference/uutf 109135 + -P 109136 + variantslib:../_doc/_odoc/reference/variantslib 109137 + -P 109138 + x-ocaml:../_doc/_odoc/reference/x-ocaml 109139 + -P 109140 + yojson:../_doc/_odoc/reference/yojson 109141 + -P 109142 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix 109143 + -P 109144 + zarr-v3:../_doc/_odoc/reference/zarr-v3 109145 + -L 109146 + angstrom:../_doc/_odoc/reference/angstrom/angstrom 109147 + -L 109148 + angstrom-async:../_doc/_odoc/reference/angstrom-async/angstrom-async 109149 + -L 109150 + angstrom-lwt-unix:../_doc/_odoc/reference/angstrom-lwt-unix/angstrom-lwt-unix 109151 + -L 109152 + angstrom-unix:../_doc/_odoc/reference/angstrom-unix/angstrom-unix 109153 + -L 109154 + astring:../_doc/_odoc/reference/astring/astring 109155 + -L 109156 + async:../_doc/_odoc/reference/async/async 109157 + -L 109158 + async.async_command:../_doc/_odoc/reference/async/async.async_command 109159 + -L 109160 + async.async_quickcheck:../_doc/_odoc/reference/async/async.async_quickcheck 109161 + -L 109162 + async.async_rpc:../_doc/_odoc/reference/async/async.async_rpc 109163 + -L 109164 + async_kernel:../_doc/_odoc/reference/async_kernel/async_kernel 109165 + -L 109166 + async_kernel.config:../_doc/_odoc/reference/async_kernel/async_kernel.config 109167 + -L 109168 + async_kernel.eager_deferred:../_doc/_odoc/reference/async_kernel/async_kernel.eager_deferred 109169 + -L 109170 + async_kernel.limiter_async:../_doc/_odoc/reference/async_kernel/async_kernel.limiter_async 109171 + -L 109172 + async_kernel.persistent_connection_kernel:../_doc/_odoc/reference/async_kernel/async_kernel.persistent_connection_kernel 109173 + -L 109174 + async_kernel.read_write_pair:../_doc/_odoc/reference/async_kernel/async_kernel.read_write_pair 109175 + -L 109176 + async_kernel.weak_hashtbl_async:../_doc/_odoc/reference/async_kernel/async_kernel.weak_hashtbl_async 109177 + -L 109178 + async.lock_file_async:../_doc/_odoc/reference/async/async.lock_file_async 109179 + -L 109180 + async_log:../_doc/_odoc/reference/async_log/async_log 109181 + -L 109182 + async.log_extended:../_doc/_odoc/reference/async/async.log_extended 109183 + -L 109184 + async_log.kernel:../_doc/_odoc/reference/async_log/async_log.kernel 109185 + -L 109186 + async.persistent_connection:../_doc/_odoc/reference/async/async.persistent_connection 109187 + -L 109188 + async_rpc_kernel:../_doc/_odoc/reference/async_rpc_kernel/async_rpc_kernel 109189 + -L 109190 + async_unix:../_doc/_odoc/reference/async_unix/async_unix 109191 + -L 109192 + async_unix.thread_pool:../_doc/_odoc/reference/async_unix/async_unix.thread_pool 109193 + -L 109194 + async_unix.thread_safe_ivar:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_ivar 109195 + -L 109196 + async_unix.thread_safe_pipe:../_doc/_odoc/reference/async_unix/async_unix.thread_safe_pipe 109197 + -L 109198 + async.unpack_sequence:../_doc/_odoc/reference/async/async.unpack_sequence 109199 + -L 109200 + base64:../_doc/_odoc/reference/base64/base64 109201 + -L 109202 + base64.rfc2045:../_doc/_odoc/reference/base64/base64.rfc2045 109203 + -L 109204 + base:../_doc/_odoc/reference/base/base 109205 + -L 109206 + base_bigstring:../_doc/_odoc/reference/base_bigstring/base_bigstring 109207 + -L 109208 + base.composition_infix:../_doc/_odoc/reference/base/base.composition_infix 109209 + -L 109210 + base.md5:../_doc/_odoc/reference/base/base.md5 109211 + -L 109212 + basement:../_doc/_odoc/reference/basement/basement 109213 + -L 109214 + base_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck 109215 + -L 109216 + base_quickcheck.ppx_quickcheck:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck 109217 + -L 109218 + base_quickcheck.ppx_quickcheck.expander:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.expander 109219 + -L 109220 + base_quickcheck.ppx_quickcheck.runtime:../_doc/_odoc/reference/base_quickcheck/base_quickcheck.ppx_quickcheck.runtime 109221 + -L 109222 + base.shadow_stdlib:../_doc/_odoc/reference/base/base.shadow_stdlib 109223 + -L 109224 + bigstringaf:../_doc/_odoc/reference/bigstringaf/bigstringaf 109225 + -L 109226 + bin_prot:../_doc/_odoc/reference/bin_prot/bin_prot 109227 + -L 109228 + bin_prot.shape:../_doc/_odoc/reference/bin_prot/bin_prot.shape 109229 + -L 109230 + bos:../_doc/_odoc/reference/bos/bos 109231 + -L 109232 + bos.setup:../_doc/_odoc/reference/bos/bos.setup 109233 + -L 109234 + brr:../_doc/_odoc/reference/brr/brr 109235 + -L 109236 + brr.ocaml_poke:../_doc/_odoc/reference/brr/brr.ocaml_poke 109237 + -L 109238 + brr.ocaml_poke_ui:../_doc/_odoc/reference/brr/brr.ocaml_poke_ui 109239 + -L 109240 + brr.poke:../_doc/_odoc/reference/brr/brr.poke 109241 + -L 109242 + brr.poked:../_doc/_odoc/reference/brr/brr.poked 109243 + -L 109244 + camlp-streams:../_doc/_odoc/reference/camlp-streams/camlp-streams 109245 + -L 109246 + capsule0.blocking_sync:../_doc/_odoc/reference/capsule0/capsule0.blocking_sync 109247 + -L 109248 + capsule0.expert:../_doc/_odoc/reference/capsule0/capsule0.expert 109249 + -L 109250 + capsule:../_doc/_odoc/reference/capsule/capsule 109251 + -L 109252 + cmdliner:../_doc/_odoc/reference/cmdliner/cmdliner 109253 + -L 109254 + code-mirror.autocomplete:../_doc/_odoc/reference/code-mirror/code-mirror.autocomplete 109255 + -L 109256 + code-mirror:../_doc/_odoc/reference/code-mirror/code-mirror 109257 + -L 109258 + code-mirror.lint:../_doc/_odoc/reference/code-mirror/code-mirror.lint 109259 + -L 109260 + code-mirror.stream:../_doc/_odoc/reference/code-mirror/code-mirror.stream 109261 + -L 109262 + code-mirror.tooltip:../_doc/_odoc/reference/code-mirror/code-mirror.tooltip 109263 + -L 109264 + compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.bytecomp 109265 + -L 109266 + compiler-libs.common:../_doc/_odoc/reference/ocaml-variants/compiler-libs.common 109267 + -L 109268 + compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-variants/compiler-libs.optcomp 109269 + -L 109270 + compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-variants/compiler-libs.toplevel 109271 + -L 109272 + core.base_for_tests:../_doc/_odoc/reference/core/core.base_for_tests 109273 + -L 109274 + core.command:../_doc/_odoc/reference/core/core.command 109275 + -L 109276 + core:../_doc/_odoc/reference/core/core 109277 + -L 109278 + core_extended.appendable_list:../_doc/_odoc/reference/core_extended/core_extended.appendable_list 109279 + -L 109280 + core_extended.delimited_kernel:../_doc/_odoc/reference/core_extended/core_extended.delimited_kernel 109281 + -L 109282 + core_extended.find_files:../_doc/_odoc/reference/core_extended/core_extended.find_files 109283 + -L 109284 + core_extended.immediate_kernel:../_doc/_odoc/reference/core_extended/core_extended.immediate_kernel 109285 + -L 109286 + core_extended.selection:../_doc/_odoc/reference/core_extended/core_extended.selection 109287 + -L 109288 + core.filename_base:../_doc/_odoc/reference/core/core.filename_base 109289 + -L 109290 + core.heap_block:../_doc/_odoc/reference/core/core.heap_block 109291 + -L 109292 + core_kernel.ansi_kernel:../_doc/_odoc/reference/core_kernel/core_kernel.ansi_kernel 109293 + -L 109294 + core_kernel.balanced_reducer:../_doc/_odoc/reference/core_kernel/core_kernel.balanced_reducer 109295 + -L 109296 + core_kernel.binary_packing:../_doc/_odoc/reference/core_kernel/core_kernel.binary_packing 109297 + -L 109298 + core_kernel.bounded_int_table:../_doc/_odoc/reference/core_kernel/core_kernel.bounded_int_table 109299 + -L 109300 + core_kernel.bus:../_doc/_odoc/reference/core_kernel/core_kernel.bus 109301 + -L 109302 + core_kernel.caml_threads:../_doc/_odoc/reference/core_kernel/core_kernel.caml_threads 109303 + -L 109304 + core_kernel.caml_unix:../_doc/_odoc/reference/core_kernel/core_kernel.caml_unix 109305 + -L 109306 + core_kernel:../_doc/_odoc/reference/core_kernel/core_kernel 109307 + -L 109308 + core_kernel.enum:../_doc/_odoc/reference/core_kernel/core_kernel.enum 109309 + -L 109310 + core_kernel.fheap:../_doc/_odoc/reference/core_kernel/core_kernel.fheap 109311 + -L 109312 + core_kernel.flags:../_doc/_odoc/reference/core_kernel/core_kernel.flags 109313 + -L 109314 + core_kernel.force_once:../_doc/_odoc/reference/core_kernel/core_kernel.force_once 109315 + -L 109316 + core_kernel.hash_heap:../_doc/_odoc/reference/core_kernel/core_kernel.hash_heap 109317 + -L 109318 + core_kernel.int_set:../_doc/_odoc/reference/core_kernel/core_kernel.int_set 109319 + -L 109320 + core_kernel.iobuf:../_doc/_odoc/reference/core_kernel/core_kernel.iobuf 109321 + -L 109322 + core_kernel.limiter:../_doc/_odoc/reference/core_kernel/core_kernel.limiter 109323 + -L 109324 + core_kernel.moption:../_doc/_odoc/reference/core_kernel/core_kernel.moption 109325 + -L 109326 + core_kernel.nonempty_list:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_list 109327 + -L 109328 + core_kernel.nonempty_set:../_doc/_odoc/reference/core_kernel/core_kernel.nonempty_set 109329 + -L 109330 + core_kernel.pairing_heap:../_doc/_odoc/reference/core_kernel/core_kernel.pairing_heap 109331 + -L 109332 + core_kernel.pooled_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.pooled_hashtbl 109333 + -L 109334 + core_kernel.reversed_list:../_doc/_odoc/reference/core_kernel/core_kernel.reversed_list 109335 + -L 109336 + core_kernel.sexp_hidden_in_test:../_doc/_odoc/reference/core_kernel/core_kernel.sexp_hidden_in_test 109337 + -L 109338 + core_kernel.thread_pool_cpu_affinity:../_doc/_odoc/reference/core_kernel/core_kernel.thread_pool_cpu_affinity 109339 + -L 109340 + core_kernel.thread_safe_queue:../_doc/_odoc/reference/core_kernel/core_kernel.thread_safe_queue 109341 + -L 109342 + core_kernel.timing_wheel:../_doc/_odoc/reference/core_kernel/core_kernel.timing_wheel 109343 + -L 109344 + core_kernel.total_map:../_doc/_odoc/reference/core_kernel/core_kernel.total_map 109345 + -L 109346 + core_kernel.tuple_pool:../_doc/_odoc/reference/core_kernel/core_kernel.tuple_pool 109347 + -L 109348 + core_kernel.univ:../_doc/_odoc/reference/core_kernel/core_kernel.univ 109349 + -L 109350 + core_kernel.unpack_buffer:../_doc/_odoc/reference/core_kernel/core_kernel.unpack_buffer 109351 + -L 109352 + core_kernel.uopt:../_doc/_odoc/reference/core_kernel/core_kernel.uopt 109353 + -L 109354 + core_kernel.uuid:../_doc/_odoc/reference/core_kernel/core_kernel.uuid 109355 + -L 109356 + core_kernel.version_util_compat:../_doc/_odoc/reference/core_kernel/core_kernel.version_util_compat 109357 + -L 109358 + core_kernel.weak_array:../_doc/_odoc/reference/core_kernel/core_kernel.weak_array 109359 + -L 109360 + core_kernel.weak_hashtbl:../_doc/_odoc/reference/core_kernel/core_kernel.weak_hashtbl 109361 + -L 109362 + core_kernel.weak_pointer:../_doc/_odoc/reference/core_kernel/core_kernel.weak_pointer 109363 + -L 109364 + core.top:../_doc/_odoc/reference/core/core.top 109365 + -L 109366 + core_unix.bigbuffer_blocking:../_doc/_odoc/reference/core_unix/core_unix.bigbuffer_blocking 109367 + -L 109368 + core_unix.bigstring_unix:../_doc/_odoc/reference/core_unix/core_unix.bigstring_unix 109369 + -L 109370 + core_unix.command_test_helpers:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers 109371 + -L 109372 + core_unix.command_test_helpers_test:../_doc/_odoc/reference/core_unix/core_unix.command_test_helpers_test 109373 + -L 109374 + core_unix.command_unix:../_doc/_odoc/reference/core_unix/core_unix.command_unix 109375 + -L 109376 + core_unix.core_thread:../_doc/_odoc/reference/core_unix/core_unix.core_thread 109377 + -L 109378 + core_unix:../_doc/_odoc/reference/core_unix/core_unix 109379 + -L 109380 + core_unix.daemon:../_doc/_odoc/reference/core_unix/core_unix.daemon 109381 + -L 109382 + core_unix.date_unix:../_doc/_odoc/reference/core_unix/core_unix.date_unix 109383 + -L 109384 + core_unix.error_checking_mutex:../_doc/_odoc/reference/core_unix/core_unix.error_checking_mutex 109385 + -L 109386 + core_unix.filename_unix:../_doc/_odoc/reference/core_unix/core_unix.filename_unix 109387 + -L 109388 + core_unix.interval_lib:../_doc/_odoc/reference/core_unix/core_unix.interval_lib 109389 + -L 109390 + core_unix.interval_unix:../_doc/_odoc/reference/core_unix/core_unix.interval_unix 109391 + -L 109392 + core_unix.iobuf_unix:../_doc/_odoc/reference/core_unix/core_unix.iobuf_unix 109393 + -L 109394 + core_unix.linux_ext:../_doc/_odoc/reference/core_unix/core_unix.linux_ext 109395 + -L 109396 + core_unix.lock_file_blocking:../_doc/_odoc/reference/core_unix/core_unix.lock_file_blocking 109397 + -L 109398 + core_unix.nano_mutex:../_doc/_odoc/reference/core_unix/core_unix.nano_mutex 109399 + -L 109400 + core_unix.ocaml_c_utils:../_doc/_odoc/reference/core_unix/core_unix.ocaml_c_utils 109401 + -L 109402 + core_unix.process_env:../_doc/_odoc/reference/core_unix/core_unix.process_env 109403 + -L 109404 + core_unix.signal_unix:../_doc/_odoc/reference/core_unix/core_unix.signal_unix 109405 + -L 109406 + core_unix.squeue:../_doc/_odoc/reference/core_unix/core_unix.squeue 109407 + -L 109408 + core_unix.syslog:../_doc/_odoc/reference/core_unix/core_unix.syslog 109409 + -L 109410 + core_unix.sys_unix:../_doc/_odoc/reference/core_unix/core_unix.sys_unix 109411 + -L 109412 + core_unix.time_float_unix:../_doc/_odoc/reference/core_unix/core_unix.time_float_unix 109413 + -L 109414 + core_unix.time_interface:../_doc/_odoc/reference/core_unix/core_unix.time_interface 109415 + -L 109416 + core_unix.time_ns_unix:../_doc/_odoc/reference/core_unix/core_unix.time_ns_unix 109417 + -L 109418 + core_unix.time_stamp_counter:../_doc/_odoc/reference/core_unix/core_unix.time_stamp_counter 109419 + -L 109420 + core_unix.unix_pseudo_terminal:../_doc/_odoc/reference/core_unix/core_unix.unix_pseudo_terminal 109421 + -L 109422 + core_unix.uuid:../_doc/_odoc/reference/core_unix/core_unix.uuid 109423 + -L 109424 + core.validate:../_doc/_odoc/reference/core/core.validate 109425 + -L 109426 + csexp:../_doc/_odoc/reference/csexp/csexp 109427 + -L 109428 + cstruct:../_doc/_odoc/reference/cstruct/cstruct 109429 + -L 109430 + decompress.de:../_doc/_odoc/reference/decompress/decompress.de 109431 + -L 109432 + decompress.gz:../_doc/_odoc/reference/decompress/decompress.gz 109433 + -L 109434 + decompress.lz:../_doc/_odoc/reference/decompress/decompress.lz 109435 + -L 109436 + decompress.lzo:../_doc/_odoc/reference/decompress/decompress.lzo 109437 + -L 109438 + decompress.zl:../_doc/_odoc/reference/decompress/decompress.zl 109439 + -L 109440 + deprecated:../_doc/_odoc/reference/odoc/deprecated 109441 + -L 109442 + domain-local-await:../_doc/_odoc/reference/domain-local-await/domain-local-await 109443 + -L 109444 + dynlink:../_doc/_odoc/reference/ocaml-variants/dynlink 109445 + -L 109446 + eio.core:../_doc/_odoc/reference/eio/eio.core 109447 + -L 109448 + eio:../_doc/_odoc/reference/eio/eio 109449 + -L 109450 + eio_linux:../_doc/_odoc/reference/eio_linux/eio_linux 109451 + -L 109452 + eio_main:../_doc/_odoc/reference/eio_main/eio_main 109453 + -L 109454 + eio.mock:../_doc/_odoc/reference/eio/eio.mock 109455 + -L 109456 + eio_posix:../_doc/_odoc/reference/eio_posix/eio_posix 109457 + -L 109458 + eio.runtime_events:../_doc/_odoc/reference/eio/eio.runtime_events 109459 + -L 109460 + eio.unix:../_doc/_odoc/reference/eio/eio.unix 109461 + -L 109462 + eio.utils:../_doc/_odoc/reference/eio/eio.utils 109463 + -L 109464 + expect_test_helpers_core.expect_test_helpers_base:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core.expect_test_helpers_base 109465 + -L 109466 + expect_test_helpers_core:../_doc/_odoc/reference/expect_test_helpers_core/expect_test_helpers_core 109467 + -L 109468 + fieldslib:../_doc/_odoc/reference/fieldslib/fieldslib 109469 + -L 109470 + flexible_sexp:../_doc/_odoc/reference/flexible_sexp/flexible_sexp 109471 + -L 109472 + fmt.cli:../_doc/_odoc/reference/fmt/fmt.cli 109473 + -L 109474 + fmt:../_doc/_odoc/reference/fmt/fmt 109475 + -L 109476 + fmt.tty:../_doc/_odoc/reference/fmt/fmt.tty 109477 + -L 109478 + fpath:../_doc/_odoc/reference/fpath/fpath 109479 + -L 109480 + gen:../_doc/_odoc/reference/gen/gen 109481 + -L 109482 + hmap:../_doc/_odoc/reference/hmap/hmap 109483 + -L 109484 + int_repr:../_doc/_odoc/reference/int_repr/int_repr 109485 + -L 109486 + iomux:../_doc/_odoc/reference/iomux/iomux 109487 + -L 109488 + jane-street-headers:../_doc/_odoc/reference/jane-street-headers/jane-street-headers 109489 + -L 109490 + js_of_ocaml-compiler.dynlink:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.dynlink 109491 + -L 109492 + js_of_ocaml-compiler.findlib-support:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.findlib-support 109493 + -L 109494 + js_of_ocaml-compiler:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler 109495 + -L 109496 + js_of_ocaml-compiler.runtime-files:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime-files 109497 + -L 109498 + js_of_ocaml-compiler.runtime:../_doc/_odoc/reference/js_of_ocaml-compiler/js_of_ocaml-compiler.runtime 109499 + -L 109500 + js_of_ocaml.deriving:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml.deriving 109501 + -L 109502 + js_of_ocaml:../_doc/_odoc/reference/js_of_ocaml/js_of_ocaml 109503 + -L 109504 + js_of_ocaml-lwt:../_doc/_odoc/reference/js_of_ocaml-lwt/js_of_ocaml-lwt 109505 + -L 109506 + js_of_ocaml-toplevel:../_doc/_odoc/reference/js_of_ocaml-toplevel/js_of_ocaml-toplevel 109507 + -L 109508 + jsonm:../_doc/_odoc/reference/jsonm/jsonm 109509 + -L 109510 + js_top_worker-client.msg:../_doc/_odoc/reference/js_top_worker-client/js_top_worker-client.msg 109511 + -L 109512 + js_top_worker:../_doc/_odoc/reference/js_top_worker/js_top_worker 109513 + -L 109514 + js_top_worker-rpc.message:../_doc/_odoc/reference/js_top_worker-rpc/js_top_worker-rpc.message 109515 + -L 109516 + js_top_worker-web:../_doc/_odoc/reference/js_top_worker-web/js_top_worker-web 109517 + -L 109518 + js_top_worker-widget:../_doc/_odoc/reference/js_top_worker-widget/js_top_worker-widget 109519 + -L 109520 + js_top_worker-widget-leaflet:../_doc/_odoc/reference/js_top_worker-widget-leaflet/js_top_worker-widget-leaflet 109521 + -L 109522 + logs.browser:../_doc/_odoc/reference/logs/logs.browser 109523 + -L 109524 + logs.cli:../_doc/_odoc/reference/logs/logs.cli 109525 + -L 109526 + logs.fmt:../_doc/_odoc/reference/logs/logs.fmt 109527 + -L 109528 + logs:../_doc/_odoc/reference/logs/logs 109529 + -L 109530 + logs.lwt:../_doc/_odoc/reference/logs/logs.lwt 109531 + -L 109532 + logs.threaded:../_doc/_odoc/reference/logs/logs.threaded 109533 + -L 109534 + lwt-dllist:../_doc/_odoc/reference/lwt-dllist/lwt-dllist 109535 + -L 109536 + lwt:../_doc/_odoc/reference/lwt/lwt 109537 + -L 109538 + lwt.unix:../_doc/_odoc/reference/lwt/lwt.unix 109539 + -L 109540 + menhirLib:../_doc/_odoc/reference/menhirLib/menhirLib 109541 + -L 109542 + merlin-js.client:../_doc/_odoc/reference/merlin-js/merlin-js.client 109543 + -L 109544 + merlin-js.code-mirror:../_doc/_odoc/reference/merlin-js/merlin-js.code-mirror 109545 + -L 109546 + merlin-js.protocol:../_doc/_odoc/reference/merlin-js/merlin-js.protocol 109547 + -L 109548 + merlin-js.worker:../_doc/_odoc/reference/merlin-js/merlin-js.worker 109549 + -L 109550 + merlin-js.worker.static:../_doc/_odoc/reference/merlin-js/merlin-js.worker.static 109551 + -L 109552 + merlin-lib.analysis:../_doc/_odoc/reference/merlin-lib/merlin-lib.analysis 109553 + -L 109554 + merlin-lib.commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.commands 109555 + -L 109556 + merlin-lib.config:../_doc/_odoc/reference/merlin-lib/merlin-lib.config 109557 + -L 109558 + merlin-lib.dot_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.dot_protocol 109559 + -L 109560 + merlin-lib.extend:../_doc/_odoc/reference/merlin-lib/merlin-lib.extend 109561 + -L 109562 + merlin-lib.index_format:../_doc/_odoc/reference/merlin-lib/merlin-lib.index_format 109563 + -L 109564 + merlin-lib.kernel:../_doc/_odoc/reference/merlin-lib/merlin-lib.kernel 109565 + -L 109566 + merlin-lib.ocaml_merlin_specific:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_merlin_specific 109567 + -L 109568 + merlin-lib.ocaml_parsing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_parsing 109569 + -L 109570 + merlin-lib.ocaml_preprocess:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_preprocess 109571 + -L 109572 + merlin-lib.ocaml_typing:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_typing 109573 + -L 109574 + merlin-lib.ocaml_utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.ocaml_utils 109575 + -L 109576 + merlin-lib.os_ipc:../_doc/_odoc/reference/merlin-lib/merlin-lib.os_ipc 109577 + -L 109578 + merlin-lib.query_commands:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_commands 109579 + -L 109580 + merlin-lib.query_protocol:../_doc/_odoc/reference/merlin-lib/merlin-lib.query_protocol 109581 + -L 109582 + merlin-lib.sherlodoc:../_doc/_odoc/reference/merlin-lib/merlin-lib.sherlodoc 109583 + -L 109584 + merlin-lib.utils:../_doc/_odoc/reference/merlin-lib/merlin-lib.utils 109585 + -L 109586 + mime_printer:../_doc/_odoc/reference/mime_printer/mime_printer 109587 + -L 109588 + mtime.clock:../_doc/_odoc/reference/mtime/mtime.clock 109589 + -L 109590 + mtime:../_doc/_odoc/reference/mtime/mtime 109591 + -L 109592 + note.brr:../_doc/_odoc/reference/note/note.brr 109593 + -L 109594 + note:../_doc/_odoc/reference/note/note 109595 + -L 109596 + num.core:../_doc/_odoc/reference/num/num.core 109597 + -L 109598 + ocaml-compiler-libs.bytecomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.bytecomp 109599 + -L 109600 + ocaml-compiler-libs.common:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.common 109601 + -L 109602 + ocaml-compiler-libs.optcomp:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.optcomp 109603 + -L 109604 + ocaml-compiler-libs.shadow:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.shadow 109605 + -L 109606 + ocaml-compiler-libs.toplevel:../_doc/_odoc/reference/ocaml-compiler-libs/ocaml-compiler-libs.toplevel 109607 + -L 109608 + ocamlgraph:../_doc/_odoc/reference/ocamlgraph/ocamlgraph 109609 + -L 109610 + ocaml_intrinsics_kernel:../_doc/_odoc/reference/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel 109611 + -L 109612 + ocplib-endian.bigstring:../_doc/_odoc/reference/ocplib-endian/ocplib-endian.bigstring 109613 + -L 109614 + ocplib-endian:../_doc/_odoc/reference/ocplib-endian/ocplib-endian 109615 + -L 109616 + odoc-admonition-extension.impl:../_doc/_odoc/reference/odoc-admonition-extension/odoc-admonition-extension.impl 109617 + -L 109618 + odoc-docsite.impl:../_doc/_odoc/reference/odoc-docsite/odoc-docsite.impl 109619 + -L 109620 + odoc.document:../_doc/_odoc/reference/odoc/odoc.document 109621 + -L 109622 + odoc-dot-extension.impl:../_doc/_odoc/reference/odoc-dot-extension/odoc-dot-extension.impl 109623 + -L 109624 + odoc-driver:../_doc/_odoc/reference/odoc-driver/odoc-driver 109625 + -L 109626 + odoc.examples:../_doc/_odoc/reference/odoc/odoc.examples 109627 + -L 109628 + odoc.extension_api:../_doc/_odoc/reference/odoc/odoc.extension_api 109629 + -L 109630 + odoc.extension_registry:../_doc/_odoc/reference/odoc/odoc.extension_registry 109631 + -L 109632 + odoc.html:../_doc/_odoc/reference/odoc/odoc.html 109633 + -L 109634 + odoc.html_support_files:../_doc/_odoc/reference/odoc/odoc.html_support_files 109635 + -L 109636 + odoc.index:../_doc/_odoc/reference/odoc/odoc.index 109637 + -L 109638 + odoc-interactive-extension.impl:../_doc/_odoc/reference/odoc-interactive-extension/odoc-interactive-extension.impl 109639 + -L 109640 + odoc-jons-plugins.impl:../_doc/_odoc/reference/odoc-jons-plugins/odoc-jons-plugins.impl 109641 + -L 109642 + odoc.json_index:../_doc/_odoc/reference/odoc/odoc.json_index 109643 + -L 109644 + odoc.latex:../_doc/_odoc/reference/odoc/odoc.latex 109645 + -L 109646 + odoc.loader:../_doc/_odoc/reference/odoc/odoc.loader 109647 + -L 109648 + odoc.manpage:../_doc/_odoc/reference/odoc/odoc.manpage 109649 + -L 109650 + odoc.markdown:../_doc/_odoc/reference/odoc/odoc.markdown 109651 + -L 109652 + odoc-mermaid-extension.impl:../_doc/_odoc/reference/odoc-mermaid-extension/odoc-mermaid-extension.impl 109653 + -L 109654 + odoc.model_desc:../_doc/_odoc/reference/odoc/odoc.model_desc 109655 + -L 109656 + odoc.model:../_doc/_odoc/reference/odoc/odoc.model 109657 + -L 109658 + odoc-msc-extension.impl:../_doc/_odoc/reference/odoc-msc-extension/odoc-msc-extension.impl 109659 + -L 109660 + odoc.ocamlary:../_doc/_odoc/reference/odoc/odoc.ocamlary 109661 + -L 109662 + odoc.occurrences:../_doc/_odoc/reference/odoc/odoc.occurrences 109663 + -L 109664 + odoc.odoc:../_doc/_odoc/reference/odoc/odoc.odoc 109665 + -L 109666 + odoc.odoc_utils:../_doc/_odoc/reference/odoc/odoc.odoc_utils 109667 + -L 109668 + odoc-parser:../_doc/_odoc/reference/odoc-parser/odoc-parser 109669 + -L 109670 + odoc-rfc-extension.impl:../_doc/_odoc/reference/odoc-rfc-extension/odoc-rfc-extension.impl 109671 + -L 109672 + odoc-scrollycode-extension.impl:../_doc/_odoc/reference/odoc-scrollycode-extension/odoc-scrollycode-extension.impl 109673 + -L 109674 + odoc.search_html_frontend:../_doc/_odoc/reference/odoc/odoc.search_html_frontend 109675 + -L 109676 + odoc.search:../_doc/_odoc/reference/odoc/odoc.search 109677 + -L 109678 + odoc-standalone.impl:../_doc/_odoc/reference/odoc-standalone/odoc-standalone.impl 109679 + -L 109680 + odoc.syntax_highlighter:../_doc/_odoc/reference/odoc/odoc.syntax_highlighter 109681 + -L 109682 + odoc.xref2:../_doc/_odoc/reference/odoc/odoc.xref2 109683 + -L 109684 + odoc.xref_test:../_doc/_odoc/reference/odoc/odoc.xref_test 109685 + -L 109686 + onnxrt:../_doc/_odoc/reference/onnxrt/onnxrt 109687 + -L 109688 + opam-core.cmdliner:../_doc/_odoc/reference/opam-core/opam-core.cmdliner 109689 + -L 109690 + opam-core:../_doc/_odoc/reference/opam-core/opam-core 109691 + -L 109692 + opam-file-format:../_doc/_odoc/reference/opam-file-format/opam-file-format 109693 + -L 109694 + opam-format:../_doc/_odoc/reference/opam-format/opam-format 109695 + -L 109696 + optint:../_doc/_odoc/reference/optint/optint 109697 + -L 109698 + parsexp:../_doc/_odoc/reference/parsexp/parsexp 109699 + -L 109700 + patch:../_doc/_odoc/reference/patch/patch 109701 + -L 109702 + pipe_with_writer_error:../_doc/_odoc/reference/pipe_with_writer_error/pipe_with_writer_error 109703 + -L 109704 + portable.adaptive_backoff:../_doc/_odoc/reference/portable/portable.adaptive_backoff 109705 + -L 109706 + portable.common:../_doc/_odoc/reference/portable/portable.common 109707 + -L 109708 + portable.kernel:../_doc/_odoc/reference/portable/portable.kernel 109709 + -L 109710 + portable:../_doc/_odoc/reference/portable/portable 109711 + -L 109712 + portable.test_helpers:../_doc/_odoc/reference/portable/portable.test_helpers 109713 + -L 109714 + ppx_assert:../_doc/_odoc/reference/ppx_assert/ppx_assert 109715 + -L 109716 + ppx_assert.runtime-lib:../_doc/_odoc/reference/ppx_assert/ppx_assert.runtime-lib 109717 + -L 109718 + ppx_bench.config:../_doc/_odoc/reference/ppx_bench/ppx_bench.config 109719 + -L 109720 + ppx_bench.config_types:../_doc/_odoc/reference/ppx_bench/ppx_bench.config_types 109721 + -L 109722 + ppx_bench:../_doc/_odoc/reference/ppx_bench/ppx_bench 109723 + -L 109724 + ppx_bench.runtime-lib:../_doc/_odoc/reference/ppx_bench/ppx_bench.runtime-lib 109725 + -L 109726 + ppx_compare.expander:../_doc/_odoc/reference/ppx_compare/ppx_compare.expander 109727 + -L 109728 + ppx_compare:../_doc/_odoc/reference/ppx_compare/ppx_compare 109729 + -L 109730 + ppx_compare.runtime-lib:../_doc/_odoc/reference/ppx_compare/ppx_compare.runtime-lib 109731 + -L 109732 + ppx_derivers:../_doc/_odoc/reference/ppx_derivers/ppx_derivers 109733 + -L 109734 + ppx_diff.diffable_cinaps:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable_cinaps 109735 + -L 109736 + ppx_diff.diffable:../_doc/_odoc/reference/ppx_diff/ppx_diff.diffable 109737 + -L 109738 + ppx_diff.ppx_diff:../_doc/_odoc/reference/ppx_diff/ppx_diff.ppx_diff 109739 + -L 109740 + ppx_enumerate:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate 109741 + -L 109742 + ppx_enumerate.runtime-lib:../_doc/_odoc/reference/ppx_enumerate/ppx_enumerate.runtime-lib 109743 + -L 109744 + ppx_expect.config:../_doc/_odoc/reference/ppx_expect/ppx_expect.config 109745 + -L 109746 + ppx_expect.config_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.config_types 109747 + -L 109748 + ppx_expect.make_corrected_file_kernel:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file_kernel 109749 + -L 109750 + ppx_expect.make_corrected_file:../_doc/_odoc/reference/ppx_expect/ppx_expect.make_corrected_file 109751 + -L 109752 + ppx_expect:../_doc/_odoc/reference/ppx_expect/ppx_expect 109753 + -L 109754 + ppx_expect.runtime:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime 109755 + -L 109756 + ppx_expect.runtime_types:../_doc/_odoc/reference/ppx_expect/ppx_expect.runtime_types 109757 + -L 109758 + ppx_fuelproof:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof 109759 + -L 109760 + ppx_fuelproof.runtime:../_doc/_odoc/reference/ppx_fuelproof/ppx_fuelproof.runtime 109761 + -L 109762 + ppx_hash.base_internalhash_types:../_doc/_odoc/reference/ppx_hash/ppx_hash.base_internalhash_types 109763 + -L 109764 + ppx_hash.expander:../_doc/_odoc/reference/ppx_hash/ppx_hash.expander 109765 + -L 109766 + ppx_hash:../_doc/_odoc/reference/ppx_hash/ppx_hash 109767 + -L 109768 + ppx_hash.runtime-lib:../_doc/_odoc/reference/ppx_hash/ppx_hash.runtime-lib 109769 + -L 109770 + ppx_helpers.modes_lib:../_doc/_odoc/reference/ppx_helpers/ppx_helpers.modes_lib 109771 + -L 109772 + ppx_helpers:../_doc/_odoc/reference/ppx_helpers/ppx_helpers 109773 + -L 109774 + ppx_here.expander:../_doc/_odoc/reference/ppx_here/ppx_here.expander 109775 + -L 109776 + ppx_here:../_doc/_odoc/reference/ppx_here/ppx_here 109777 + -L 109778 + ppx_here.runtime-lib:../_doc/_odoc/reference/ppx_here/ppx_here.runtime-lib 109779 + -L 109780 + ppx_inline_test.config:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.config 109781 + -L 109782 + ppx_inline_test.drop:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.drop 109783 + -L 109784 + ppx_inline_test.libname:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.libname 109785 + -L 109786 + ppx_inline_test:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test 109787 + -L 109788 + ppx_inline_test.runner.lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner.lib 109789 + -L 109790 + ppx_inline_test.runner:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runner 109791 + -L 109792 + ppx_inline_test.runtime-lib:../_doc/_odoc/reference/ppx_inline_test/ppx_inline_test.runtime-lib 109793 + -L 109794 + ppxlib_ast.astlib:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.astlib 109795 + -L 109796 + ppxlib_ast.ast:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.ast 109797 + -L 109798 + ppxlib_ast.stdppx:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.stdppx 109799 + -L 109800 + ppxlib_ast.traverse_builtins:../_doc/_odoc/reference/ppxlib_ast/ppxlib_ast.traverse_builtins 109801 + -L 109802 + ppxlib_jane:../_doc/_odoc/reference/ppxlib_jane/ppxlib_jane 109803 + -L 109804 + ppxlib.metaquot_lifters:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot_lifters 109805 + -L 109806 + ppxlib.metaquot:../_doc/_odoc/reference/ppxlib/ppxlib.metaquot 109807 + -L 109808 + ppxlib:../_doc/_odoc/reference/ppxlib/ppxlib 109809 + -L 109810 + ppxlib.print_diff:../_doc/_odoc/reference/ppxlib/ppxlib.print_diff 109811 + -L 109812 + ppxlib_register:../_doc/_odoc/reference/ppxlib_register/ppxlib_register 109813 + -L 109814 + ppxlib.runner_as_ppx:../_doc/_odoc/reference/ppxlib/ppxlib.runner_as_ppx 109815 + -L 109816 + ppxlib.runner:../_doc/_odoc/reference/ppxlib/ppxlib.runner 109817 + -L 109818 + ppxlib.traverse:../_doc/_odoc/reference/ppxlib/ppxlib.traverse 109819 + -L 109820 + ppx_log.kernel:../_doc/_odoc/reference/ppx_log/ppx_log.kernel 109821 + -L 109822 + ppx_log:../_doc/_odoc/reference/ppx_log/ppx_log 109823 + -L 109824 + ppx_log.syntax:../_doc/_odoc/reference/ppx_log/ppx_log.syntax 109825 + -L 109826 + ppx_log.types:../_doc/_odoc/reference/ppx_log/ppx_log.types 109827 + -L 109828 + ppx_module_timer.helpers:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.helpers 109829 + -L 109830 + ppx_module_timer:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer 109831 + -L 109832 + ppx_module_timer.runtime:../_doc/_odoc/reference/ppx_module_timer/ppx_module_timer.runtime 109833 + -L 109834 + ppx_portable:../_doc/_odoc/reference/ppx_portable/ppx_portable 109835 + -L 109836 + ppx_portable.runtime:../_doc/_odoc/reference/ppx_portable/ppx_portable.runtime 109837 + -L 109838 + ppx_sexp_conv.expander:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.expander 109839 + -L 109840 + ppx_sexp_conv:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv 109841 + -L 109842 + ppx_sexp_conv.runtime-lib:../_doc/_odoc/reference/ppx_sexp_conv/ppx_sexp_conv.runtime-lib 109843 + -L 109844 + ppx_sexp_message.expander:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message.expander 109845 + -L 109846 + ppx_sexp_message:../_doc/_odoc/reference/ppx_sexp_message/ppx_sexp_message 109847 + -L 109848 + ppx_stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness 109849 + -L 109850 + ppx_stable_witness.runtime:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.runtime 109851 + -L 109852 + ppx_stable_witness.stable_witness:../_doc/_odoc/reference/ppx_stable_witness/ppx_stable_witness.stable_witness 109853 + -L 109854 + ppx_string:../_doc/_odoc/reference/ppx_string/ppx_string 109855 + -L 109856 + ppx_string.runtime:../_doc/_odoc/reference/ppx_string/ppx_string.runtime 109857 + -L 109858 + ppx_template.expander:../_doc/_odoc/reference/ppx_template/ppx_template.expander 109859 + -L 109860 + ppx_template:../_doc/_odoc/reference/ppx_template/ppx_template 109861 + -L 109862 + ppx_typed_fields:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields 109863 + -L 109864 + ppx_typed_fields.typed_field_map:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_field_map 109865 + -L 109866 + ppx_typed_fields.typed_fields_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_fields_lib 109867 + -L 109868 + ppx_typed_fields.typed_variants_lib:../_doc/_odoc/reference/ppx_typed_fields/ppx_typed_fields.typed_variants_lib 109869 + -L 109870 + progress.engine:../_doc/_odoc/reference/progress/progress.engine 109871 + -L 109872 + progress:../_doc/_odoc/reference/progress/progress 109873 + -L 109874 + progress.vector:../_doc/_odoc/reference/progress/progress.vector 109875 + -L 109876 + protocol_version_header:../_doc/_odoc/reference/protocol_version_header/protocol_version_header 109877 + -L 109878 + psq:../_doc/_odoc/reference/psq/psq 109879 + -L 109880 + record_builder:../_doc/_odoc/reference/record_builder/record_builder 109881 + -L 109882 + re.emacs:../_doc/_odoc/reference/re/re.emacs 109883 + -L 109884 + re.glob:../_doc/_odoc/reference/re/re.glob 109885 + -L 109886 + re.pcre:../_doc/_odoc/reference/re/re.pcre 109887 + -L 109888 + re.perl:../_doc/_odoc/reference/re/re.perl 109889 + -L 109890 + re.posix:../_doc/_odoc/reference/re/re.posix 109891 + -L 109892 + re:../_doc/_odoc/reference/re/re 109893 + -L 109894 + re.str:../_doc/_odoc/reference/re/re.str 109895 + -L 109896 + rresult:../_doc/_odoc/reference/rresult/rresult 109897 + -L 109898 + runtime_events:../_doc/_odoc/reference/ocaml-variants/runtime_events 109899 + -L 109900 + sedlex.ppx:../_doc/_odoc/reference/sedlex/sedlex.ppx 109901 + -L 109902 + sedlex:../_doc/_odoc/reference/sedlex/sedlex 109903 + -L 109904 + sedlex.utils:../_doc/_odoc/reference/sedlex/sedlex.utils 109905 + -L 109906 + sexplib0:../_doc/_odoc/reference/sexplib0/sexplib0 109907 + -L 109908 + sexplib.num:../_doc/_odoc/reference/sexplib/sexplib.num 109909 + -L 109910 + sexplib:../_doc/_odoc/reference/sexplib/sexplib 109911 + -L 109912 + sexplib.unix:../_doc/_odoc/reference/sexplib/sexplib.unix 109913 + -L 109914 + sexp_pretty:../_doc/_odoc/reference/sexp_pretty/sexp_pretty 109915 + -L 109916 + sexp_type.grammar:../_doc/_odoc/reference/sexp_type/sexp_type.grammar 109917 + -L 109918 + sexp_type:../_doc/_odoc/reference/sexp_type/sexp_type 109919 + -L 109920 + sha:../_doc/_odoc/reference/sha/sha 109921 + -L 109922 + sherlodoc.db:../_doc/_odoc/reference/sherlodoc/sherlodoc.db 109923 + -L 109924 + sherlodoc.db_store:../_doc/_odoc/reference/sherlodoc/sherlodoc.db_store 109925 + -L 109926 + sherlodoc.query:../_doc/_odoc/reference/sherlodoc/sherlodoc.query 109927 + -L 109928 + sherlodoc.storage_js:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_js 109929 + -L 109930 + sherlodoc.storage_marshal:../_doc/_odoc/reference/sherlodoc/sherlodoc.storage_marshal 109931 + -L 109932 + spawn:../_doc/_odoc/reference/spawn/spawn 109933 + -L 109934 + splittable_random:../_doc/_odoc/reference/splittable_random/splittable_random 109935 + -L 109936 + stdio:../_doc/_odoc/reference/stdio/stdio 109937 + -L 109938 + stdlib_alpha:../_doc/_odoc/reference/ocaml-variants/stdlib_alpha 109939 + -L 109940 + stdlib_beta:../_doc/_odoc/reference/ocaml-variants/stdlib_beta 109941 + -L 109942 + stdlib:../_doc/_odoc/reference/ocaml-variants/stdlib 109943 + -L 109944 + stdlib_stable:../_doc/_odoc/reference/ocaml-variants/stdlib_stable 109945 + -L 109946 + stdlib_upstream_compatible:../_doc/_odoc/reference/ocaml-variants/stdlib_upstream_compatible 109947 + -L 109948 + string_dict:../_doc/_odoc/reference/string_dict/string_dict 109949 + -L 109950 + stringext:../_doc/_odoc/reference/stringext/stringext 109951 + -L 109952 + str:../_doc/_odoc/reference/ocaml-variants/str 109953 + -L 109954 + swhid_core:../_doc/_odoc/reference/swhid_core/swhid_core 109955 + -L 109956 + terminal.ansi:../_doc/_odoc/reference/terminal/terminal.ansi 109957 + -L 109958 + terminal:../_doc/_odoc/reference/terminal/terminal 109959 + -L 109960 + tessera-geotessera-jsoo:../_doc/_odoc/reference/tessera-geotessera-jsoo/tessera-geotessera-jsoo 109961 + -L 109962 + tessera-geotessera:../_doc/_odoc/reference/tessera-geotessera/tessera-geotessera 109963 + -L 109964 + tessera-linalg:../_doc/_odoc/reference/tessera-linalg/tessera-linalg 109965 + -L 109966 + tessera-npy:../_doc/_odoc/reference/tessera-npy/tessera-npy 109967 + -L 109968 + tessera-tfjs:../_doc/_odoc/reference/tessera-tfjs/tessera-tfjs 109969 + -L 109970 + tessera-viz-jsoo:../_doc/_odoc/reference/tessera-viz-jsoo/tessera-viz-jsoo 109971 + -L 109972 + tessera-viz:../_doc/_odoc/reference/tessera-viz/tessera-viz 109973 + -L 109974 + tessera-zarr-jsoo:../_doc/_odoc/reference/tessera-zarr-jsoo/tessera-zarr-jsoo 109975 + -L 109976 + tessera-zarr:../_doc/_odoc/reference/tessera-zarr/tessera-zarr 109977 + -L 109978 + textutils.ascii_table_kernel:../_doc/_odoc/reference/textutils/textutils.ascii_table_kernel 109979 + -L 109980 + textutils.ascii_table:../_doc/_odoc/reference/textutils/textutils.ascii_table 109981 + -L 109982 + textutils.console:../_doc/_odoc/reference/textutils/textutils.console 109983 + -L 109984 + threads:../_doc/_odoc/reference/ocaml-variants/threads 109985 + -L 109986 + thread-table:../_doc/_odoc/reference/thread-table/thread-table 109987 + -L 109988 + time_now:../_doc/_odoc/reference/time_now/time_now 109989 + -L 109990 + typerep:../_doc/_odoc/reference/typerep/typerep 109991 + -L 109992 + tyxml.functor:../_doc/_odoc/reference/tyxml/tyxml.functor 109993 + -L 109994 + tyxml:../_doc/_odoc/reference/tyxml/tyxml 109995 + -L 109996 + unique:../_doc/_odoc/reference/unique/unique 109997 + -L 109998 + univ_map:../_doc/_odoc/reference/univ_map/univ_map 109999 + -L 110000 + unix:../_doc/_odoc/reference/ocaml-variants/unix 110001 + -L 110002 + uopt:../_doc/_odoc/reference/uopt/uopt 110003 + -L 110004 + uring:../_doc/_odoc/reference/uring/uring 110005 + -L 110006 + uri.services_full:../_doc/_odoc/reference/uri/uri.services_full 110007 + -L 110008 + uri.services:../_doc/_odoc/reference/uri/uri.services 110009 + -L 110010 + uri:../_doc/_odoc/reference/uri/uri 110011 + -L 110012 + uucp:../_doc/_odoc/reference/uucp/uucp 110013 + -L 110014 + uutf:../_doc/_odoc/reference/uutf/uutf 110015 + -L 110016 + variantslib:../_doc/_odoc/reference/variantslib/variantslib 110017 + -L 110018 + x-ocaml.lib:../_doc/_odoc/reference/x-ocaml/x-ocaml.lib 110019 + -L 110020 + x-ocaml.protocol:../_doc/_odoc/reference/x-ocaml/x-ocaml.protocol 110021 + -L 110022 + yojson:../_doc/_odoc/reference/yojson/yojson 110023 + -L 110024 + zarr-v3-unix:../_doc/_odoc/reference/zarr-v3-unix/zarr-v3-unix 110025 + -L 110026 + zarr-v3:../_doc/_odoc/reference/zarr-v3/zarr-v3 110027 + -o 110028 + _odoc/tags/page-weeknotes.odocl) 102643 110029 (run 102644 110030 odoc 102645 110031 link ··· 160112 167498 _odoc/notebooks/oxcaml/page-local.odocl 160113 167499 _odoc/projects/page-index.odocl 160114 167500 _odoc/reference/page-index.odocl 167501 + _odoc/tags/page-ai.odocl 167502 + _odoc/tags/page-docs-ci.odocl 160115 167503 _odoc/tags/page-index.odocl 160116 167504 _odoc/tags/page-meta.odocl 167505 + _odoc/tags/page-notebooks.odocl 160117 167506 _odoc/tags/page-ocaml.odocl 160118 167507 _odoc/tags/page-odoc.odocl 160119 - _odoc/tags/page-plugins.odocl) 167508 + _odoc/tags/page-plugins.odocl 167509 + _odoc/tags/page-teaching.odocl 167510 + _odoc/tags/page-tessera.odocl 167511 + _odoc/tags/page-weeknotes.odocl) 160120 167512 (run 160121 167513 odoc 160122 167514 sidebar-generate ··· 160206 167598 _odoc/notebooks/oxcaml/page-local.odocl 160207 167599 _odoc/projects/page-index.odocl 160208 167600 _odoc/reference/page-index.odocl 167601 + _odoc/tags/page-ai.odocl 167602 + _odoc/tags/page-docs-ci.odocl 160209 167603 _odoc/tags/page-index.odocl 160210 167604 _odoc/tags/page-meta.odocl 167605 + _odoc/tags/page-notebooks.odocl 160211 167606 _odoc/tags/page-ocaml.odocl 160212 167607 _odoc/tags/page-odoc.odocl 160213 167608 _odoc/tags/page-plugins.odocl 167609 + _odoc/tags/page-teaching.odocl 167610 + _odoc/tags/page-tessera.odocl 167611 + _odoc/tags/page-weeknotes.odocl 160214 167612 _odoc/blog/2025/05/asset-alice.jpg.odocl 160215 167613 _odoc/blog/2025/05/asset-amy.jpg.odocl 160216 167614 _odoc/blog/2025/05/asset-emilio.jpg.odocl ··· 161181 168579 x-ocaml.universe=/_opam 161182 168580 -o 161183 168581 _html 168582 + _odoc/tags/page-ai.odocl) 168583 + (run 168584 + odoc 168585 + html-generate 168586 + --warn-error 168587 + --shell 168588 + jon-shell 168589 + --config 168590 + x-ocaml.universe=/_opam 168591 + -o 168592 + _html 168593 + _odoc/tags/page-docs-ci.odocl) 168594 + (run 168595 + odoc 168596 + html-generate 168597 + --warn-error 168598 + --shell 168599 + jon-shell 168600 + --config 168601 + x-ocaml.universe=/_opam 168602 + -o 168603 + _html 161184 168604 _odoc/tags/page-index.odocl) 161185 168605 (run 161186 168606 odoc ··· 161193 168613 -o 161194 168614 _html 161195 168615 _odoc/tags/page-meta.odocl) 168616 + (run 168617 + odoc 168618 + html-generate 168619 + --warn-error 168620 + --shell 168621 + jon-shell 168622 + --config 168623 + x-ocaml.universe=/_opam 168624 + -o 168625 + _html 168626 + _odoc/tags/page-notebooks.odocl) 161196 168627 (run 161197 168628 odoc 161198 168629 html-generate ··· 161226 168657 -o 161227 168658 _html 161228 168659 _odoc/tags/page-plugins.odocl) 168660 + (run 168661 + odoc 168662 + html-generate 168663 + --warn-error 168664 + --shell 168665 + jon-shell 168666 + --config 168667 + x-ocaml.universe=/_opam 168668 + -o 168669 + _html 168670 + _odoc/tags/page-teaching.odocl) 168671 + (run 168672 + odoc 168673 + html-generate 168674 + --warn-error 168675 + --shell 168676 + jon-shell 168677 + --config 168678 + x-ocaml.universe=/_opam 168679 + -o 168680 + _html 168681 + _odoc/tags/page-tessera.odocl) 168682 + (run 168683 + odoc 168684 + html-generate 168685 + --warn-error 168686 + --shell 168687 + jon-shell 168688 + --config 168689 + x-ocaml.universe=/_opam 168690 + -o 168691 + _html 168692 + _odoc/tags/page-weeknotes.odocl) 161229 168693 (run 161230 168694 odoc 161231 168695 html-generate-asset ··· 161697 169161 _html/notebooks/oxcaml/local.html 161698 169162 _html/projects/index.html 161699 169163 _html/reference/index.html 169164 + _html/tags/ai.html 169165 + _html/tags/docs-ci.html 161700 169166 _html/tags/index.html 161701 169167 _html/tags/meta.html 169168 + _html/tags/notebooks.html 161702 169169 _html/tags/ocaml.html 161703 169170 _html/tags/odoc.html 161704 169171 _html/tags/plugins.html 169172 + _html/tags/teaching.html 169173 + _html/tags/tessera.html 169174 + _html/tags/weeknotes.html 161705 169175 _html/static/assets/jon.jpg 161706 169176 _html/static/assets/notebook-foundations.png 161707 169177 _html/static/assets/notebook-interactive-map.png ··· 161758 169228 161759 169229 (rule 161760 169230 (target 169231 + (dir _md)) 169232 + (deps 169233 + _odoc/blog/2025/03/page-code-block-metadata.odocl 169234 + _odoc/blog/2025/03/page-index.odocl 169235 + _odoc/blog/2025/03/page-module-type-of.odocl 169236 + _odoc/blog/2025/04/page-index.odocl 169237 + _odoc/blog/2025/04/page-meeting-the-team.odocl 169238 + _odoc/blog/2025/04/page-ocaml-docs-ci-and-odoc-3.odocl 169239 + _odoc/blog/2025/04/page-odoc-3.odocl 169240 + _odoc/blog/2025/04/page-semantic-versioning-is-hard.odocl 169241 + _odoc/blog/2025/04/page-this-site.odocl 169242 + _odoc/blog/2025/05/page-ai-for-climate-and-nature-day.odocl 169243 + _odoc/blog/2025/05/page-docs-progress.odocl 169244 + _odoc/blog/2025/05/page-index.odocl 169245 + _odoc/blog/2025/05/page-lots-of-things.odocl 169246 + _odoc/blog/2025/05/page-oxcaml-gets-closer.odocl 169247 + _odoc/blog/2025/05/page-ticks-solved-by-ai.odocl 169248 + _odoc/blog/2025/06/page-index.odocl 169249 + _odoc/blog/2025/06/page-week23.odocl 169250 + _odoc/blog/2025/07/page-index.odocl 169251 + _odoc/blog/2025/07/page-odoc-3-live-on-ocaml-org.odocl 169252 + _odoc/blog/2025/07/page-retrospective.odocl 169253 + _odoc/blog/2025/07/page-week27.odocl 169254 + _odoc/blog/2025/07/page-week28.odocl 169255 + _odoc/blog/2025/08/page-index.odocl 169256 + _odoc/blog/2025/08/page-ocaml-lsp-mcp.odocl 169257 + _odoc/blog/2025/08/page-ocaml-mcp-server.odocl 169258 + _odoc/blog/2025/08/page-week33.odocl 169259 + _odoc/blog/2025/09/page-build-ids-for-day10.odocl 169260 + _odoc/blog/2025/09/page-caching-opam-solutions.odocl 169261 + _odoc/blog/2025/09/page-caching-opam-solutions2.odocl 169262 + _odoc/blog/2025/09/page-giving-hub-cl-an-upgrade.odocl 169263 + _odoc/blog/2025/09/page-index.odocl 169264 + _odoc/blog/2025/09/page-odoc-bugs.odocl 169265 + _odoc/blog/2025/11/page-foundations-of-computer-science.odocl 169266 + _odoc/blog/2025/11/page-index.odocl 169267 + _odoc/blog/2025/12/page-an-svg-is-all-you-need.odocl 169268 + _odoc/blog/2025/12/page-claude-and-dune.odocl 169269 + _odoc/blog/2025/12/page-index.odocl 169270 + _odoc/blog/2025/page-index.odocl 169271 + _odoc/blog/2026/01/page-index.odocl 169272 + _odoc/blog/2026/01/page-weeknotes-2026-03.odocl 169273 + _odoc/blog/2026/01/page-weeknotes-2026-04-05.odocl 169274 + _odoc/blog/2026/02/page-index.odocl 169275 + _odoc/blog/2026/02/page-odoc-js-notebooks-fun.odocl 169276 + _odoc/blog/2026/02/page-weeknotes-2026-06.odocl 169277 + _odoc/blog/2026/02/page-weeknotes-2026-08.odocl 169278 + _odoc/blog/2026/03/page-index.odocl 169279 + _odoc/blog/2026/03/page-open-source-and-ai.odocl 169280 + _odoc/blog/2026/03/page-weeknotes-2026-09.odocl 169281 + _odoc/blog/2026/03/page-weeknotes-2026-10.odocl 169282 + _odoc/blog/2026/03/page-weeknotes-2026-11.odocl 169283 + _odoc/blog/2026/03/page-weeknotes-2026-12.odocl 169284 + _odoc/blog/2026/03/page-weeknotes-2026-13.odocl 169285 + _odoc/blog/2026/04/page-index.odocl 169286 + _odoc/blog/2026/04/page-odoc_and_ocaml_notebooks.odocl 169287 + _odoc/blog/2026/04/page-weeknotes-2026-15.odocl 169288 + _odoc/blog/2026/page-index.odocl 169289 + _odoc/blog/page-index.odocl 169290 + _odoc/drafts/page-index.odocl 169291 + _odoc/drafts/page-new-extensions.odocl 169292 + _odoc/page-index.odocl 169293 + _odoc/notebooks/foundations/page-foundations1.odocl 169294 + _odoc/notebooks/foundations/page-foundations10.odocl 169295 + _odoc/notebooks/foundations/page-foundations11.odocl 169296 + _odoc/notebooks/foundations/page-foundations2.odocl 169297 + _odoc/notebooks/foundations/page-foundations3.odocl 169298 + _odoc/notebooks/foundations/page-foundations4.odocl 169299 + _odoc/notebooks/foundations/page-foundations5.odocl 169300 + _odoc/notebooks/foundations/page-foundations6.odocl 169301 + _odoc/notebooks/foundations/page-foundations7.odocl 169302 + _odoc/notebooks/foundations/page-foundations8.odocl 169303 + _odoc/notebooks/foundations/page-foundations9.odocl 169304 + _odoc/notebooks/foundations/page-index.odocl 169305 + _odoc/notebooks/page-index.odocl 169306 + _odoc/notebooks/page-interactive_map.odocl 169307 + _odoc/notebooks/page-interactive_map_zarr.odocl 169308 + _odoc/notebooks/oxcaml/page-local.odocl 169309 + _odoc/projects/page-index.odocl 169310 + _odoc/reference/page-index.odocl 169311 + _odoc/tags/page-ai.odocl 169312 + _odoc/tags/page-docs-ci.odocl 169313 + _odoc/tags/page-index.odocl 169314 + _odoc/tags/page-meta.odocl 169315 + _odoc/tags/page-notebooks.odocl 169316 + _odoc/tags/page-ocaml.odocl 169317 + _odoc/tags/page-odoc.odocl 169318 + _odoc/tags/page-plugins.odocl 169319 + _odoc/tags/page-teaching.odocl 169320 + _odoc/tags/page-tessera.odocl 169321 + _odoc/tags/page-weeknotes.odocl 169322 + _odoc/blog/2025/05/asset-alice.jpg.odocl 169323 + _odoc/blog/2025/05/asset-amy.jpg.odocl 169324 + _odoc/blog/2025/05/asset-emilio.jpg.odocl 169325 + _odoc/blog/2025/05/asset-frank.jpg.odocl 169326 + _odoc/blog/2025/05/asset-hattie.jpg.odocl 169327 + _odoc/blog/2025/05/asset-marta.jpg.odocl 169328 + _odoc/blog/2025/05/asset-melissa.jpg.odocl 169329 + _odoc/blog/2025/05/asset-orlando.jpg.odocl 169330 + _odoc/blog/2025/05/asset-ruari.jpg.odocl 169331 + _odoc/blog/2025/05/asset-sadiq.jpg.odocl 169332 + _odoc/blog/2025/05/asset-sebastian.jpg.odocl 169333 + _odoc/blog/2025/05/asset-simon.jpg.odocl 169334 + _odoc/blog/2025/05/asset-simond.jpg.odocl 169335 + _odoc/blog/2025/09/asset-examination_map_histogram.png.odocl 169336 + _odoc/blog/2025/09/asset-examination_map_histogram.svg.odocl 169337 + _odoc/blog/2025/12/asset-fungus.svg.odocl 169338 + _odoc/blog/2026/03/asset-claude-scrolly-sketch.gif.odocl 169339 + _odoc/blog/2026/03/asset-fix-doc-bugs-with-dune.gif.odocl 169340 + _odoc/blog/2026/03/asset-leaflet-fly.gif.odocl 169341 + _odoc/blog/2026/03/asset-length-with-oxcaml.png.odocl 169342 + _odoc/blog/2026/03/asset-mapdemo.mov.odocl 169343 + _odoc/blog/2026/03/asset-new.png.odocl 169344 + _odoc/blog/2026/03/asset-notebook.png.odocl 169345 + _odoc/blog/2026/03/asset-old.png.odocl 169346 + _odoc/blog/2026/03/asset-scrolly-odoc.gif.odocl 169347 + _odoc/blog/2026/03/asset-search.png.odocl 169348 + _odoc/blog/2026/03/asset-sherlodoc-search.png.odocl 169349 + _odoc/blog/2026/03/asset-sherlodoc.gif.odocl 169350 + _odoc/blog/2026/03/asset-tessera-standalone.png.odocl 169351 + _odoc/blog/2026/03/asset-tessera.png.odocl 169352 + _odoc/blog/2026/03/asset-vibecoding.png.odocl 169353 + _odoc/blog/2026/04/asset-claude-scrolly-sketch.gif.odocl 169354 + _odoc/blog/2026/04/asset-fix-doc-bugs-with-dune.gif.odocl 169355 + _odoc/blog/2026/04/asset-leaflet-fly.gif.odocl 169356 + _odoc/blog/2026/04/asset-length-with-oxcaml.png.odocl 169357 + _odoc/blog/2026/04/asset-new.png.odocl 169358 + _odoc/blog/2026/04/asset-notebook.png.odocl 169359 + _odoc/blog/2026/04/asset-old.png.odocl 169360 + _odoc/blog/2026/04/asset-parseff.png.odocl 169361 + _odoc/blog/2026/04/asset-scrolly-odoc.gif.odocl 169362 + _odoc/blog/2026/04/asset-search.png.odocl 169363 + _odoc/blog/2026/04/asset-sherlodoc-search.png.odocl 169364 + _odoc/blog/2026/04/asset-sherlodoc.gif.odocl 169365 + _odoc/blog/2026/04/asset-tessera-standalone.png.odocl 169366 + _odoc/blog/2026/04/asset-tessera.png.odocl 169367 + _odoc/blog/2026/04/asset-vibecoding.png.odocl 169368 + _odoc/drafts/asset-sherlodoc-search.png.odocl 169369 + blog/2025/05/alice.jpg 169370 + blog/2025/05/amy.jpg 169371 + blog/2025/05/emilio.jpg 169372 + blog/2025/05/frank.jpg 169373 + blog/2025/05/hattie.jpg 169374 + blog/2025/05/marta.jpg 169375 + blog/2025/05/melissa.jpg 169376 + blog/2025/05/orlando.jpg 169377 + blog/2025/05/ruari.jpg 169378 + blog/2025/05/sadiq.jpg 169379 + blog/2025/05/sebastian.jpg 169380 + blog/2025/05/simon.jpg 169381 + blog/2025/05/simond.jpg 169382 + blog/2025/09/examination_map_histogram.png 169383 + blog/2025/09/examination_map_histogram.svg 169384 + blog/2025/12/fungus.svg 169385 + blog/2026/03/claude-scrolly-sketch.gif 169386 + blog/2026/03/fix-doc-bugs-with-dune.gif 169387 + blog/2026/03/leaflet-fly.gif 169388 + blog/2026/03/length-with-oxcaml.png 169389 + blog/2026/03/mapdemo.mov 169390 + blog/2026/03/new.png 169391 + blog/2026/03/notebook.png 169392 + blog/2026/03/old.png 169393 + blog/2026/03/scrolly-odoc.gif 169394 + blog/2026/03/search.png 169395 + blog/2026/03/sherlodoc-search.png 169396 + blog/2026/03/sherlodoc.gif 169397 + blog/2026/03/tessera-standalone.png 169398 + blog/2026/03/tessera.png 169399 + blog/2026/03/vibecoding.png 169400 + blog/2026/04/claude-scrolly-sketch.gif 169401 + blog/2026/04/fix-doc-bugs-with-dune.gif 169402 + blog/2026/04/leaflet-fly.gif 169403 + blog/2026/04/length-with-oxcaml.png 169404 + blog/2026/04/new.png 169405 + blog/2026/04/notebook.png 169406 + blog/2026/04/old.png 169407 + blog/2026/04/parseff.png 169408 + blog/2026/04/scrolly-odoc.gif 169409 + blog/2026/04/search.png 169410 + blog/2026/04/sherlodoc-search.png 169411 + blog/2026/04/sherlodoc.gif 169412 + blog/2026/04/tessera-standalone.png 169413 + blog/2026/04/tessera.png 169414 + blog/2026/04/vibecoding.png 169415 + drafts/sherlodoc-search.png) 169416 + (action 169417 + (progn 169418 + (run 169419 + odoc 169420 + markdown-generate 169421 + --warn-error 169422 + -o 169423 + _md 169424 + _odoc/blog/2025/03/page-code-block-metadata.odocl) 169425 + (run 169426 + odoc 169427 + markdown-generate 169428 + --warn-error 169429 + -o 169430 + _md 169431 + _odoc/blog/2025/03/page-index.odocl) 169432 + (run 169433 + odoc 169434 + markdown-generate 169435 + --warn-error 169436 + -o 169437 + _md 169438 + _odoc/blog/2025/03/page-module-type-of.odocl) 169439 + (run 169440 + odoc 169441 + markdown-generate 169442 + --warn-error 169443 + -o 169444 + _md 169445 + _odoc/blog/2025/04/page-index.odocl) 169446 + (run 169447 + odoc 169448 + markdown-generate 169449 + --warn-error 169450 + -o 169451 + _md 169452 + _odoc/blog/2025/04/page-meeting-the-team.odocl) 169453 + (run 169454 + odoc 169455 + markdown-generate 169456 + --warn-error 169457 + -o 169458 + _md 169459 + _odoc/blog/2025/04/page-ocaml-docs-ci-and-odoc-3.odocl) 169460 + (run 169461 + odoc 169462 + markdown-generate 169463 + --warn-error 169464 + -o 169465 + _md 169466 + _odoc/blog/2025/04/page-odoc-3.odocl) 169467 + (run 169468 + odoc 169469 + markdown-generate 169470 + --warn-error 169471 + -o 169472 + _md 169473 + _odoc/blog/2025/04/page-semantic-versioning-is-hard.odocl) 169474 + (run 169475 + odoc 169476 + markdown-generate 169477 + --warn-error 169478 + -o 169479 + _md 169480 + _odoc/blog/2025/04/page-this-site.odocl) 169481 + (run 169482 + odoc 169483 + markdown-generate 169484 + --warn-error 169485 + -o 169486 + _md 169487 + _odoc/blog/2025/05/page-ai-for-climate-and-nature-day.odocl) 169488 + (run 169489 + odoc 169490 + markdown-generate 169491 + --warn-error 169492 + -o 169493 + _md 169494 + _odoc/blog/2025/05/page-docs-progress.odocl) 169495 + (run 169496 + odoc 169497 + markdown-generate 169498 + --warn-error 169499 + -o 169500 + _md 169501 + _odoc/blog/2025/05/page-index.odocl) 169502 + (run 169503 + odoc 169504 + markdown-generate 169505 + --warn-error 169506 + -o 169507 + _md 169508 + _odoc/blog/2025/05/page-lots-of-things.odocl) 169509 + (run 169510 + odoc 169511 + markdown-generate 169512 + --warn-error 169513 + -o 169514 + _md 169515 + _odoc/blog/2025/05/page-oxcaml-gets-closer.odocl) 169516 + (run 169517 + odoc 169518 + markdown-generate 169519 + --warn-error 169520 + -o 169521 + _md 169522 + _odoc/blog/2025/05/page-ticks-solved-by-ai.odocl) 169523 + (run 169524 + odoc 169525 + markdown-generate 169526 + --warn-error 169527 + -o 169528 + _md 169529 + _odoc/blog/2025/06/page-index.odocl) 169530 + (run 169531 + odoc 169532 + markdown-generate 169533 + --warn-error 169534 + -o 169535 + _md 169536 + _odoc/blog/2025/06/page-week23.odocl) 169537 + (run 169538 + odoc 169539 + markdown-generate 169540 + --warn-error 169541 + -o 169542 + _md 169543 + _odoc/blog/2025/07/page-index.odocl) 169544 + (run 169545 + odoc 169546 + markdown-generate 169547 + --warn-error 169548 + -o 169549 + _md 169550 + _odoc/blog/2025/07/page-odoc-3-live-on-ocaml-org.odocl) 169551 + (run 169552 + odoc 169553 + markdown-generate 169554 + --warn-error 169555 + -o 169556 + _md 169557 + _odoc/blog/2025/07/page-retrospective.odocl) 169558 + (run 169559 + odoc 169560 + markdown-generate 169561 + --warn-error 169562 + -o 169563 + _md 169564 + _odoc/blog/2025/07/page-week27.odocl) 169565 + (run 169566 + odoc 169567 + markdown-generate 169568 + --warn-error 169569 + -o 169570 + _md 169571 + _odoc/blog/2025/07/page-week28.odocl) 169572 + (run 169573 + odoc 169574 + markdown-generate 169575 + --warn-error 169576 + -o 169577 + _md 169578 + _odoc/blog/2025/08/page-index.odocl) 169579 + (run 169580 + odoc 169581 + markdown-generate 169582 + --warn-error 169583 + -o 169584 + _md 169585 + _odoc/blog/2025/08/page-ocaml-lsp-mcp.odocl) 169586 + (run 169587 + odoc 169588 + markdown-generate 169589 + --warn-error 169590 + -o 169591 + _md 169592 + _odoc/blog/2025/08/page-ocaml-mcp-server.odocl) 169593 + (run 169594 + odoc 169595 + markdown-generate 169596 + --warn-error 169597 + -o 169598 + _md 169599 + _odoc/blog/2025/08/page-week33.odocl) 169600 + (run 169601 + odoc 169602 + markdown-generate 169603 + --warn-error 169604 + -o 169605 + _md 169606 + _odoc/blog/2025/09/page-build-ids-for-day10.odocl) 169607 + (run 169608 + odoc 169609 + markdown-generate 169610 + --warn-error 169611 + -o 169612 + _md 169613 + _odoc/blog/2025/09/page-caching-opam-solutions.odocl) 169614 + (run 169615 + odoc 169616 + markdown-generate 169617 + --warn-error 169618 + -o 169619 + _md 169620 + _odoc/blog/2025/09/page-caching-opam-solutions2.odocl) 169621 + (run 169622 + odoc 169623 + markdown-generate 169624 + --warn-error 169625 + -o 169626 + _md 169627 + _odoc/blog/2025/09/page-giving-hub-cl-an-upgrade.odocl) 169628 + (run 169629 + odoc 169630 + markdown-generate 169631 + --warn-error 169632 + -o 169633 + _md 169634 + _odoc/blog/2025/09/page-index.odocl) 169635 + (run 169636 + odoc 169637 + markdown-generate 169638 + --warn-error 169639 + -o 169640 + _md 169641 + _odoc/blog/2025/09/page-odoc-bugs.odocl) 169642 + (run 169643 + odoc 169644 + markdown-generate 169645 + --warn-error 169646 + -o 169647 + _md 169648 + _odoc/blog/2025/11/page-foundations-of-computer-science.odocl) 169649 + (run 169650 + odoc 169651 + markdown-generate 169652 + --warn-error 169653 + -o 169654 + _md 169655 + _odoc/blog/2025/11/page-index.odocl) 169656 + (run 169657 + odoc 169658 + markdown-generate 169659 + --warn-error 169660 + -o 169661 + _md 169662 + _odoc/blog/2025/12/page-an-svg-is-all-you-need.odocl) 169663 + (run 169664 + odoc 169665 + markdown-generate 169666 + --warn-error 169667 + -o 169668 + _md 169669 + _odoc/blog/2025/12/page-claude-and-dune.odocl) 169670 + (run 169671 + odoc 169672 + markdown-generate 169673 + --warn-error 169674 + -o 169675 + _md 169676 + _odoc/blog/2025/12/page-index.odocl) 169677 + (run 169678 + odoc 169679 + markdown-generate 169680 + --warn-error 169681 + -o 169682 + _md 169683 + _odoc/blog/2025/page-index.odocl) 169684 + (run 169685 + odoc 169686 + markdown-generate 169687 + --warn-error 169688 + -o 169689 + _md 169690 + _odoc/blog/2026/01/page-index.odocl) 169691 + (run 169692 + odoc 169693 + markdown-generate 169694 + --warn-error 169695 + -o 169696 + _md 169697 + _odoc/blog/2026/01/page-weeknotes-2026-03.odocl) 169698 + (run 169699 + odoc 169700 + markdown-generate 169701 + --warn-error 169702 + -o 169703 + _md 169704 + _odoc/blog/2026/01/page-weeknotes-2026-04-05.odocl) 169705 + (run 169706 + odoc 169707 + markdown-generate 169708 + --warn-error 169709 + -o 169710 + _md 169711 + _odoc/blog/2026/02/page-index.odocl) 169712 + (run 169713 + odoc 169714 + markdown-generate 169715 + --warn-error 169716 + -o 169717 + _md 169718 + _odoc/blog/2026/02/page-odoc-js-notebooks-fun.odocl) 169719 + (run 169720 + odoc 169721 + markdown-generate 169722 + --warn-error 169723 + -o 169724 + _md 169725 + _odoc/blog/2026/02/page-weeknotes-2026-06.odocl) 169726 + (run 169727 + odoc 169728 + markdown-generate 169729 + --warn-error 169730 + -o 169731 + _md 169732 + _odoc/blog/2026/02/page-weeknotes-2026-08.odocl) 169733 + (run 169734 + odoc 169735 + markdown-generate 169736 + --warn-error 169737 + -o 169738 + _md 169739 + _odoc/blog/2026/03/page-index.odocl) 169740 + (run 169741 + odoc 169742 + markdown-generate 169743 + --warn-error 169744 + -o 169745 + _md 169746 + _odoc/blog/2026/03/page-open-source-and-ai.odocl) 169747 + (run 169748 + odoc 169749 + markdown-generate 169750 + --warn-error 169751 + -o 169752 + _md 169753 + _odoc/blog/2026/03/page-weeknotes-2026-09.odocl) 169754 + (run 169755 + odoc 169756 + markdown-generate 169757 + --warn-error 169758 + -o 169759 + _md 169760 + _odoc/blog/2026/03/page-weeknotes-2026-10.odocl) 169761 + (run 169762 + odoc 169763 + markdown-generate 169764 + --warn-error 169765 + -o 169766 + _md 169767 + _odoc/blog/2026/03/page-weeknotes-2026-11.odocl) 169768 + (run 169769 + odoc 169770 + markdown-generate 169771 + --warn-error 169772 + -o 169773 + _md 169774 + _odoc/blog/2026/03/page-weeknotes-2026-12.odocl) 169775 + (run 169776 + odoc 169777 + markdown-generate 169778 + --warn-error 169779 + -o 169780 + _md 169781 + _odoc/blog/2026/03/page-weeknotes-2026-13.odocl) 169782 + (run 169783 + odoc 169784 + markdown-generate 169785 + --warn-error 169786 + -o 169787 + _md 169788 + _odoc/blog/2026/04/page-index.odocl) 169789 + (run 169790 + odoc 169791 + markdown-generate 169792 + --warn-error 169793 + -o 169794 + _md 169795 + _odoc/blog/2026/04/page-odoc_and_ocaml_notebooks.odocl) 169796 + (run 169797 + odoc 169798 + markdown-generate 169799 + --warn-error 169800 + -o 169801 + _md 169802 + _odoc/blog/2026/04/page-weeknotes-2026-15.odocl) 169803 + (run 169804 + odoc 169805 + markdown-generate 169806 + --warn-error 169807 + -o 169808 + _md 169809 + _odoc/blog/2026/page-index.odocl) 169810 + (run 169811 + odoc 169812 + markdown-generate 169813 + --warn-error 169814 + -o 169815 + _md 169816 + _odoc/blog/page-index.odocl) 169817 + (run 169818 + odoc 169819 + markdown-generate 169820 + --warn-error 169821 + -o 169822 + _md 169823 + _odoc/drafts/page-index.odocl) 169824 + (run 169825 + odoc 169826 + markdown-generate 169827 + --warn-error 169828 + -o 169829 + _md 169830 + _odoc/drafts/page-new-extensions.odocl) 169831 + (run odoc markdown-generate --warn-error -o _md _odoc/page-index.odocl) 169832 + (run 169833 + odoc 169834 + markdown-generate 169835 + --warn-error 169836 + -o 169837 + _md 169838 + _odoc/notebooks/foundations/page-foundations1.odocl) 169839 + (run 169840 + odoc 169841 + markdown-generate 169842 + --warn-error 169843 + -o 169844 + _md 169845 + _odoc/notebooks/foundations/page-foundations10.odocl) 169846 + (run 169847 + odoc 169848 + markdown-generate 169849 + --warn-error 169850 + -o 169851 + _md 169852 + _odoc/notebooks/foundations/page-foundations11.odocl) 169853 + (run 169854 + odoc 169855 + markdown-generate 169856 + --warn-error 169857 + -o 169858 + _md 169859 + _odoc/notebooks/foundations/page-foundations2.odocl) 169860 + (run 169861 + odoc 169862 + markdown-generate 169863 + --warn-error 169864 + -o 169865 + _md 169866 + _odoc/notebooks/foundations/page-foundations3.odocl) 169867 + (run 169868 + odoc 169869 + markdown-generate 169870 + --warn-error 169871 + -o 169872 + _md 169873 + _odoc/notebooks/foundations/page-foundations4.odocl) 169874 + (run 169875 + odoc 169876 + markdown-generate 169877 + --warn-error 169878 + -o 169879 + _md 169880 + _odoc/notebooks/foundations/page-foundations5.odocl) 169881 + (run 169882 + odoc 169883 + markdown-generate 169884 + --warn-error 169885 + -o 169886 + _md 169887 + _odoc/notebooks/foundations/page-foundations6.odocl) 169888 + (run 169889 + odoc 169890 + markdown-generate 169891 + --warn-error 169892 + -o 169893 + _md 169894 + _odoc/notebooks/foundations/page-foundations7.odocl) 169895 + (run 169896 + odoc 169897 + markdown-generate 169898 + --warn-error 169899 + -o 169900 + _md 169901 + _odoc/notebooks/foundations/page-foundations8.odocl) 169902 + (run 169903 + odoc 169904 + markdown-generate 169905 + --warn-error 169906 + -o 169907 + _md 169908 + _odoc/notebooks/foundations/page-foundations9.odocl) 169909 + (run 169910 + odoc 169911 + markdown-generate 169912 + --warn-error 169913 + -o 169914 + _md 169915 + _odoc/notebooks/foundations/page-index.odocl) 169916 + (run 169917 + odoc 169918 + markdown-generate 169919 + --warn-error 169920 + -o 169921 + _md 169922 + _odoc/notebooks/page-index.odocl) 169923 + (run 169924 + odoc 169925 + markdown-generate 169926 + --warn-error 169927 + -o 169928 + _md 169929 + _odoc/notebooks/page-interactive_map.odocl) 169930 + (run 169931 + odoc 169932 + markdown-generate 169933 + --warn-error 169934 + -o 169935 + _md 169936 + _odoc/notebooks/page-interactive_map_zarr.odocl) 169937 + (run 169938 + odoc 169939 + markdown-generate 169940 + --warn-error 169941 + -o 169942 + _md 169943 + _odoc/notebooks/oxcaml/page-local.odocl) 169944 + (run 169945 + odoc 169946 + markdown-generate 169947 + --warn-error 169948 + -o 169949 + _md 169950 + _odoc/projects/page-index.odocl) 169951 + (run 169952 + odoc 169953 + markdown-generate 169954 + --warn-error 169955 + -o 169956 + _md 169957 + _odoc/reference/page-index.odocl) 169958 + (run odoc markdown-generate --warn-error -o _md _odoc/tags/page-ai.odocl) 169959 + (run 169960 + odoc 169961 + markdown-generate 169962 + --warn-error 169963 + -o 169964 + _md 169965 + _odoc/tags/page-docs-ci.odocl) 169966 + (run 169967 + odoc 169968 + markdown-generate 169969 + --warn-error 169970 + -o 169971 + _md 169972 + _odoc/tags/page-index.odocl) 169973 + (run 169974 + odoc 169975 + markdown-generate 169976 + --warn-error 169977 + -o 169978 + _md 169979 + _odoc/tags/page-meta.odocl) 169980 + (run 169981 + odoc 169982 + markdown-generate 169983 + --warn-error 169984 + -o 169985 + _md 169986 + _odoc/tags/page-notebooks.odocl) 169987 + (run 169988 + odoc 169989 + markdown-generate 169990 + --warn-error 169991 + -o 169992 + _md 169993 + _odoc/tags/page-ocaml.odocl) 169994 + (run 169995 + odoc 169996 + markdown-generate 169997 + --warn-error 169998 + -o 169999 + _md 170000 + _odoc/tags/page-odoc.odocl) 170001 + (run 170002 + odoc 170003 + markdown-generate 170004 + --warn-error 170005 + -o 170006 + _md 170007 + _odoc/tags/page-plugins.odocl) 170008 + (run 170009 + odoc 170010 + markdown-generate 170011 + --warn-error 170012 + -o 170013 + _md 170014 + _odoc/tags/page-teaching.odocl) 170015 + (run 170016 + odoc 170017 + markdown-generate 170018 + --warn-error 170019 + -o 170020 + _md 170021 + _odoc/tags/page-tessera.odocl) 170022 + (run 170023 + odoc 170024 + markdown-generate 170025 + --warn-error 170026 + -o 170027 + _md 170028 + _odoc/tags/page-weeknotes.odocl) 170029 + (system 170030 + "mkdir -p $(dirname _md/blog/2025/05/alice.jpg) && cp blog/2025/05/alice.jpg _md/blog/2025/05/alice.jpg") 170031 + (system 170032 + "mkdir -p $(dirname _md/blog/2025/05/amy.jpg) && cp blog/2025/05/amy.jpg _md/blog/2025/05/amy.jpg") 170033 + (system 170034 + "mkdir -p $(dirname _md/blog/2025/05/emilio.jpg) && cp blog/2025/05/emilio.jpg _md/blog/2025/05/emilio.jpg") 170035 + (system 170036 + "mkdir -p $(dirname _md/blog/2025/05/frank.jpg) && cp blog/2025/05/frank.jpg _md/blog/2025/05/frank.jpg") 170037 + (system 170038 + "mkdir -p $(dirname _md/blog/2025/05/hattie.jpg) && cp blog/2025/05/hattie.jpg _md/blog/2025/05/hattie.jpg") 170039 + (system 170040 + "mkdir -p $(dirname _md/blog/2025/05/marta.jpg) && cp blog/2025/05/marta.jpg _md/blog/2025/05/marta.jpg") 170041 + (system 170042 + "mkdir -p $(dirname _md/blog/2025/05/melissa.jpg) && cp blog/2025/05/melissa.jpg _md/blog/2025/05/melissa.jpg") 170043 + (system 170044 + "mkdir -p $(dirname _md/blog/2025/05/orlando.jpg) && cp blog/2025/05/orlando.jpg _md/blog/2025/05/orlando.jpg") 170045 + (system 170046 + "mkdir -p $(dirname _md/blog/2025/05/ruari.jpg) && cp blog/2025/05/ruari.jpg _md/blog/2025/05/ruari.jpg") 170047 + (system 170048 + "mkdir -p $(dirname _md/blog/2025/05/sadiq.jpg) && cp blog/2025/05/sadiq.jpg _md/blog/2025/05/sadiq.jpg") 170049 + (system 170050 + "mkdir -p $(dirname _md/blog/2025/05/sebastian.jpg) && cp blog/2025/05/sebastian.jpg _md/blog/2025/05/sebastian.jpg") 170051 + (system 170052 + "mkdir -p $(dirname _md/blog/2025/05/simon.jpg) && cp blog/2025/05/simon.jpg _md/blog/2025/05/simon.jpg") 170053 + (system 170054 + "mkdir -p $(dirname _md/blog/2025/05/simond.jpg) && cp blog/2025/05/simond.jpg _md/blog/2025/05/simond.jpg") 170055 + (system 170056 + "mkdir -p $(dirname _md/blog/2025/09/examination_map_histogram.png) && cp blog/2025/09/examination_map_histogram.png _md/blog/2025/09/examination_map_histogram.png") 170057 + (system 170058 + "mkdir -p $(dirname _md/blog/2025/09/examination_map_histogram.svg) && cp blog/2025/09/examination_map_histogram.svg _md/blog/2025/09/examination_map_histogram.svg") 170059 + (system 170060 + "mkdir -p $(dirname _md/blog/2025/12/fungus.svg) && cp blog/2025/12/fungus.svg _md/blog/2025/12/fungus.svg") 170061 + (system 170062 + "mkdir -p $(dirname _md/blog/2026/03/claude-scrolly-sketch.gif) && cp blog/2026/03/claude-scrolly-sketch.gif _md/blog/2026/03/claude-scrolly-sketch.gif") 170063 + (system 170064 + "mkdir -p $(dirname _md/blog/2026/03/fix-doc-bugs-with-dune.gif) && cp blog/2026/03/fix-doc-bugs-with-dune.gif _md/blog/2026/03/fix-doc-bugs-with-dune.gif") 170065 + (system 170066 + "mkdir -p $(dirname _md/blog/2026/03/leaflet-fly.gif) && cp blog/2026/03/leaflet-fly.gif _md/blog/2026/03/leaflet-fly.gif") 170067 + (system 170068 + "mkdir -p $(dirname _md/blog/2026/03/length-with-oxcaml.png) && cp blog/2026/03/length-with-oxcaml.png _md/blog/2026/03/length-with-oxcaml.png") 170069 + (system 170070 + "mkdir -p $(dirname _md/blog/2026/03/mapdemo.mov) && cp blog/2026/03/mapdemo.mov _md/blog/2026/03/mapdemo.mov") 170071 + (system 170072 + "mkdir -p $(dirname _md/blog/2026/03/new.png) && cp blog/2026/03/new.png _md/blog/2026/03/new.png") 170073 + (system 170074 + "mkdir -p $(dirname _md/blog/2026/03/notebook.png) && cp blog/2026/03/notebook.png _md/blog/2026/03/notebook.png") 170075 + (system 170076 + "mkdir -p $(dirname _md/blog/2026/03/old.png) && cp blog/2026/03/old.png _md/blog/2026/03/old.png") 170077 + (system 170078 + "mkdir -p $(dirname _md/blog/2026/03/scrolly-odoc.gif) && cp blog/2026/03/scrolly-odoc.gif _md/blog/2026/03/scrolly-odoc.gif") 170079 + (system 170080 + "mkdir -p $(dirname _md/blog/2026/03/search.png) && cp blog/2026/03/search.png _md/blog/2026/03/search.png") 170081 + (system 170082 + "mkdir -p $(dirname _md/blog/2026/03/sherlodoc-search.png) && cp blog/2026/03/sherlodoc-search.png _md/blog/2026/03/sherlodoc-search.png") 170083 + (system 170084 + "mkdir -p $(dirname _md/blog/2026/03/sherlodoc.gif) && cp blog/2026/03/sherlodoc.gif _md/blog/2026/03/sherlodoc.gif") 170085 + (system 170086 + "mkdir -p $(dirname _md/blog/2026/03/tessera-standalone.png) && cp blog/2026/03/tessera-standalone.png _md/blog/2026/03/tessera-standalone.png") 170087 + (system 170088 + "mkdir -p $(dirname _md/blog/2026/03/tessera.png) && cp blog/2026/03/tessera.png _md/blog/2026/03/tessera.png") 170089 + (system 170090 + "mkdir -p $(dirname _md/blog/2026/03/vibecoding.png) && cp blog/2026/03/vibecoding.png _md/blog/2026/03/vibecoding.png") 170091 + (system 170092 + "mkdir -p $(dirname _md/blog/2026/04/claude-scrolly-sketch.gif) && cp blog/2026/04/claude-scrolly-sketch.gif _md/blog/2026/04/claude-scrolly-sketch.gif") 170093 + (system 170094 + "mkdir -p $(dirname _md/blog/2026/04/fix-doc-bugs-with-dune.gif) && cp blog/2026/04/fix-doc-bugs-with-dune.gif _md/blog/2026/04/fix-doc-bugs-with-dune.gif") 170095 + (system 170096 + "mkdir -p $(dirname _md/blog/2026/04/leaflet-fly.gif) && cp blog/2026/04/leaflet-fly.gif _md/blog/2026/04/leaflet-fly.gif") 170097 + (system 170098 + "mkdir -p $(dirname _md/blog/2026/04/length-with-oxcaml.png) && cp blog/2026/04/length-with-oxcaml.png _md/blog/2026/04/length-with-oxcaml.png") 170099 + (system 170100 + "mkdir -p $(dirname _md/blog/2026/04/new.png) && cp blog/2026/04/new.png _md/blog/2026/04/new.png") 170101 + (system 170102 + "mkdir -p $(dirname _md/blog/2026/04/notebook.png) && cp blog/2026/04/notebook.png _md/blog/2026/04/notebook.png") 170103 + (system 170104 + "mkdir -p $(dirname _md/blog/2026/04/old.png) && cp blog/2026/04/old.png _md/blog/2026/04/old.png") 170105 + (system 170106 + "mkdir -p $(dirname _md/blog/2026/04/parseff.png) && cp blog/2026/04/parseff.png _md/blog/2026/04/parseff.png") 170107 + (system 170108 + "mkdir -p $(dirname _md/blog/2026/04/scrolly-odoc.gif) && cp blog/2026/04/scrolly-odoc.gif _md/blog/2026/04/scrolly-odoc.gif") 170109 + (system 170110 + "mkdir -p $(dirname _md/blog/2026/04/search.png) && cp blog/2026/04/search.png _md/blog/2026/04/search.png") 170111 + (system 170112 + "mkdir -p $(dirname _md/blog/2026/04/sherlodoc-search.png) && cp blog/2026/04/sherlodoc-search.png _md/blog/2026/04/sherlodoc-search.png") 170113 + (system 170114 + "mkdir -p $(dirname _md/blog/2026/04/sherlodoc.gif) && cp blog/2026/04/sherlodoc.gif _md/blog/2026/04/sherlodoc.gif") 170115 + (system 170116 + "mkdir -p $(dirname _md/blog/2026/04/tessera-standalone.png) && cp blog/2026/04/tessera-standalone.png _md/blog/2026/04/tessera-standalone.png") 170117 + (system 170118 + "mkdir -p $(dirname _md/blog/2026/04/tessera.png) && cp blog/2026/04/tessera.png _md/blog/2026/04/tessera.png") 170119 + (system 170120 + "mkdir -p $(dirname _md/blog/2026/04/vibecoding.png) && cp blog/2026/04/vibecoding.png _md/blog/2026/04/vibecoding.png") 170121 + (system 170122 + "mkdir -p $(dirname _md/drafts/sherlodoc-search.png) && cp drafts/sherlodoc-search.png _md/drafts/sherlodoc-search.png") 170123 + (system 170124 + "mkdir -p $(dirname _md/static/assets/jon.jpg) && cp static/assets/jon.jpg _md/static/assets/jon.jpg") 170125 + (system 170126 + "mkdir -p $(dirname _md/static/assets/notebook-foundations.png) && cp static/assets/notebook-foundations.png _md/static/assets/notebook-foundations.png") 170127 + (system 170128 + "mkdir -p $(dirname _md/static/assets/notebook-interactive-map.png) && cp static/assets/notebook-interactive-map.png _md/static/assets/notebook-interactive-map.png") 170129 + (system 170130 + "mkdir -p $(dirname _md/static/assets/notebook-oxcaml.png) && cp static/assets/notebook-oxcaml.png _md/static/assets/notebook-oxcaml.png") 170131 + (system 170132 + "mkdir -p $(dirname _md/static/assets/notebook-sentiment.png) && cp static/assets/notebook-sentiment.png _md/static/assets/notebook-sentiment.png") 170133 + (system 170134 + "mkdir -p $(dirname _md/static/assets/notebook-widgets.png) && cp static/assets/notebook-widgets.png _md/static/assets/notebook-widgets.png")))) 170135 + 170136 + (alias 170137 + (name markdown) 170138 + (deps 170139 + _md/blog/2025/03/code-block-metadata.md 170140 + _md/blog/2025/03/index.md 170141 + _md/blog/2025/03/module-type-of.md 170142 + _md/blog/2025/04/index.md 170143 + _md/blog/2025/04/meeting-the-team.md 170144 + _md/blog/2025/04/ocaml-docs-ci-and-odoc-3.md 170145 + _md/blog/2025/04/odoc-3.md 170146 + _md/blog/2025/04/semantic-versioning-is-hard.md 170147 + _md/blog/2025/04/this-site.md 170148 + _md/blog/2025/05/ai-for-climate-and-nature-day.md 170149 + _md/blog/2025/05/docs-progress.md 170150 + _md/blog/2025/05/index.md 170151 + _md/blog/2025/05/lots-of-things.md 170152 + _md/blog/2025/05/oxcaml-gets-closer.md 170153 + _md/blog/2025/05/ticks-solved-by-ai.md 170154 + _md/blog/2025/06/index.md 170155 + _md/blog/2025/06/week23.md 170156 + _md/blog/2025/07/index.md 170157 + _md/blog/2025/07/odoc-3-live-on-ocaml-org.md 170158 + _md/blog/2025/07/retrospective.md 170159 + _md/blog/2025/07/week27.md 170160 + _md/blog/2025/07/week28.md 170161 + _md/blog/2025/08/index.md 170162 + _md/blog/2025/08/ocaml-lsp-mcp.md 170163 + _md/blog/2025/08/ocaml-mcp-server.md 170164 + _md/blog/2025/08/week33.md 170165 + _md/blog/2025/09/build-ids-for-day10.md 170166 + _md/blog/2025/09/caching-opam-solutions.md 170167 + _md/blog/2025/09/caching-opam-solutions2.md 170168 + _md/blog/2025/09/giving-hub-cl-an-upgrade.md 170169 + _md/blog/2025/09/index.md 170170 + _md/blog/2025/09/odoc-bugs.md 170171 + _md/blog/2025/11/foundations-of-computer-science.md 170172 + _md/blog/2025/11/index.md 170173 + _md/blog/2025/12/an-svg-is-all-you-need.md 170174 + _md/blog/2025/12/claude-and-dune.md 170175 + _md/blog/2025/12/index.md 170176 + _md/blog/2025/index.md 170177 + _md/blog/2026/01/index.md 170178 + _md/blog/2026/01/weeknotes-2026-03.md 170179 + _md/blog/2026/01/weeknotes-2026-04-05.md 170180 + _md/blog/2026/02/index.md 170181 + _md/blog/2026/02/odoc-js-notebooks-fun.md 170182 + _md/blog/2026/02/weeknotes-2026-06.md 170183 + _md/blog/2026/02/weeknotes-2026-08.md 170184 + _md/blog/2026/03/index.md 170185 + _md/blog/2026/03/open-source-and-ai.md 170186 + _md/blog/2026/03/weeknotes-2026-09.md 170187 + _md/blog/2026/03/weeknotes-2026-10.md 170188 + _md/blog/2026/03/weeknotes-2026-11.md 170189 + _md/blog/2026/03/weeknotes-2026-12.md 170190 + _md/blog/2026/03/weeknotes-2026-13.md 170191 + _md/blog/2026/04/index.md 170192 + _md/blog/2026/04/odoc_and_ocaml_notebooks.md 170193 + _md/blog/2026/04/weeknotes-2026-15.md 170194 + _md/blog/2026/index.md 170195 + _md/blog/index.md 170196 + _md/drafts/index.md 170197 + _md/drafts/new-extensions.md 170198 + _md/index.md 170199 + _md/notebooks/foundations/foundations1.md 170200 + _md/notebooks/foundations/foundations10.md 170201 + _md/notebooks/foundations/foundations11.md 170202 + _md/notebooks/foundations/foundations2.md 170203 + _md/notebooks/foundations/foundations3.md 170204 + _md/notebooks/foundations/foundations4.md 170205 + _md/notebooks/foundations/foundations5.md 170206 + _md/notebooks/foundations/foundations6.md 170207 + _md/notebooks/foundations/foundations7.md 170208 + _md/notebooks/foundations/foundations8.md 170209 + _md/notebooks/foundations/foundations9.md 170210 + _md/notebooks/foundations/index.md 170211 + _md/notebooks/index.md 170212 + _md/notebooks/interactive_map.md 170213 + _md/notebooks/interactive_map_zarr.md 170214 + _md/notebooks/oxcaml/local.md 170215 + _md/projects/index.md 170216 + _md/reference/index.md 170217 + _md/tags/ai.md 170218 + _md/tags/docs-ci.md 170219 + _md/tags/index.md 170220 + _md/tags/meta.md 170221 + _md/tags/notebooks.md 170222 + _md/tags/ocaml.md 170223 + _md/tags/odoc.md 170224 + _md/tags/plugins.md 170225 + _md/tags/teaching.md 170226 + _md/tags/tessera.md 170227 + _md/tags/weeknotes.md 170228 + _md/static/assets/jon.jpg 170229 + _md/static/assets/notebook-foundations.png 170230 + _md/static/assets/notebook-interactive-map.png 170231 + _md/static/assets/notebook-oxcaml.png 170232 + _md/static/assets/notebook-sentiment.png 170233 + _md/static/assets/notebook-widgets.png 170234 + _md/blog/2025/05/alice.jpg 170235 + _md/blog/2025/05/amy.jpg 170236 + _md/blog/2025/05/emilio.jpg 170237 + _md/blog/2025/05/frank.jpg 170238 + _md/blog/2025/05/hattie.jpg 170239 + _md/blog/2025/05/marta.jpg 170240 + _md/blog/2025/05/melissa.jpg 170241 + _md/blog/2025/05/orlando.jpg 170242 + _md/blog/2025/05/ruari.jpg 170243 + _md/blog/2025/05/sadiq.jpg 170244 + _md/blog/2025/05/sebastian.jpg 170245 + _md/blog/2025/05/simon.jpg 170246 + _md/blog/2025/05/simond.jpg 170247 + _md/blog/2025/09/examination_map_histogram.png 170248 + _md/blog/2025/09/examination_map_histogram.svg 170249 + _md/blog/2025/12/fungus.svg 170250 + _md/blog/2026/03/claude-scrolly-sketch.gif 170251 + _md/blog/2026/03/fix-doc-bugs-with-dune.gif 170252 + _md/blog/2026/03/leaflet-fly.gif 170253 + _md/blog/2026/03/length-with-oxcaml.png 170254 + _md/blog/2026/03/mapdemo.mov 170255 + _md/blog/2026/03/new.png 170256 + _md/blog/2026/03/notebook.png 170257 + _md/blog/2026/03/old.png 170258 + _md/blog/2026/03/scrolly-odoc.gif 170259 + _md/blog/2026/03/search.png 170260 + _md/blog/2026/03/sherlodoc-search.png 170261 + _md/blog/2026/03/sherlodoc.gif 170262 + _md/blog/2026/03/tessera-standalone.png 170263 + _md/blog/2026/03/tessera.png 170264 + _md/blog/2026/03/vibecoding.png 170265 + _md/blog/2026/04/claude-scrolly-sketch.gif 170266 + _md/blog/2026/04/fix-doc-bugs-with-dune.gif 170267 + _md/blog/2026/04/leaflet-fly.gif 170268 + _md/blog/2026/04/length-with-oxcaml.png 170269 + _md/blog/2026/04/new.png 170270 + _md/blog/2026/04/notebook.png 170271 + _md/blog/2026/04/old.png 170272 + _md/blog/2026/04/parseff.png 170273 + _md/blog/2026/04/scrolly-odoc.gif 170274 + _md/blog/2026/04/search.png 170275 + _md/blog/2026/04/sherlodoc-search.png 170276 + _md/blog/2026/04/sherlodoc.gif 170277 + _md/blog/2026/04/tessera-standalone.png 170278 + _md/blog/2026/04/tessera.png 170279 + _md/blog/2026/04/vibecoding.png 170280 + _md/drafts/sherlodoc-search.png)) 170281 + 170282 + (rule 170283 + (target 161761 170284 (dir _blog_gen)) 161762 170285 (deps 161763 170286 blog/2025/03/code-block-metadata.mld ··· 161816 170339 blog/2026/03/index.mld 161817 170340 blog/2026/04/index.mld 161818 170341 blog/2026/index.mld 161819 - blog/index.mld) 170342 + blog/index.mld 170343 + tags/ai.mld 170344 + tags/docs-ci.mld 170345 + tags/index.mld 170346 + tags/meta.mld 170347 + tags/notebooks.mld 170348 + tags/ocaml.mld 170349 + tags/odoc.mld 170350 + tags/plugins.mld 170351 + tags/teaching.mld 170352 + tags/tessera.mld 170353 + tags/weeknotes.mld) 161820 170354 (action 161821 170355 (run ../scripts/gen_blog_index.exe))) 161822 170356 ··· 161899 170433 (alias runtest) 161900 170434 (action 161901 170435 (diff blog/index.mld _blog_gen/blog/index.mld))) 170436 + 170437 + (rule 170438 + (alias runtest) 170439 + (action 170440 + (diff tags/ai.mld _blog_gen/tags/ai.mld))) 170441 + 170442 + (rule 170443 + (alias runtest) 170444 + (action 170445 + (diff tags/docs-ci.mld _blog_gen/tags/docs-ci.mld))) 170446 + 170447 + (rule 170448 + (alias runtest) 170449 + (action 170450 + (diff tags/index.mld _blog_gen/tags/index.mld))) 170451 + 170452 + (rule 170453 + (alias runtest) 170454 + (action 170455 + (diff tags/meta.mld _blog_gen/tags/meta.mld))) 170456 + 170457 + (rule 170458 + (alias runtest) 170459 + (action 170460 + (diff tags/notebooks.mld _blog_gen/tags/notebooks.mld))) 170461 + 170462 + (rule 170463 + (alias runtest) 170464 + (action 170465 + (diff tags/ocaml.mld _blog_gen/tags/ocaml.mld))) 170466 + 170467 + (rule 170468 + (alias runtest) 170469 + (action 170470 + (diff tags/odoc.mld _blog_gen/tags/odoc.mld))) 170471 + 170472 + (rule 170473 + (alias runtest) 170474 + (action 170475 + (diff tags/plugins.mld _blog_gen/tags/plugins.mld))) 170476 + 170477 + (rule 170478 + (alias runtest) 170479 + (action 170480 + (diff tags/teaching.mld _blog_gen/tags/teaching.mld))) 170481 + 170482 + (rule 170483 + (alias runtest) 170484 + (action 170485 + (diff tags/tessera.mld _blog_gen/tags/tessera.mld))) 170486 + 170487 + (rule 170488 + (alias runtest) 170489 + (action 170490 + (diff tags/weeknotes.mld _blog_gen/tags/weeknotes.mld))) 170491 + 170492 + (rule 170493 + (target atom.xml.gen) 170494 + (deps 170495 + _odoc/blog/2025/03/page-code-block-metadata.odocl 170496 + _odoc/blog/2025/03/page-module-type-of.odocl 170497 + _odoc/blog/2025/04/page-meeting-the-team.odocl 170498 + _odoc/blog/2025/04/page-ocaml-docs-ci-and-odoc-3.odocl 170499 + _odoc/blog/2025/04/page-odoc-3.odocl 170500 + _odoc/blog/2025/04/page-semantic-versioning-is-hard.odocl 170501 + _odoc/blog/2025/04/page-this-site.odocl 170502 + _odoc/blog/2025/05/page-ai-for-climate-and-nature-day.odocl 170503 + _odoc/blog/2025/05/page-docs-progress.odocl 170504 + _odoc/blog/2025/05/page-lots-of-things.odocl 170505 + _odoc/blog/2025/05/page-oxcaml-gets-closer.odocl 170506 + _odoc/blog/2025/05/page-ticks-solved-by-ai.odocl 170507 + _odoc/blog/2025/06/page-week23.odocl 170508 + _odoc/blog/2025/07/page-odoc-3-live-on-ocaml-org.odocl 170509 + _odoc/blog/2025/07/page-retrospective.odocl 170510 + _odoc/blog/2025/07/page-week27.odocl 170511 + _odoc/blog/2025/07/page-week28.odocl 170512 + _odoc/blog/2025/08/page-ocaml-lsp-mcp.odocl 170513 + _odoc/blog/2025/08/page-ocaml-mcp-server.odocl 170514 + _odoc/blog/2025/08/page-week33.odocl 170515 + _odoc/blog/2025/09/page-build-ids-for-day10.odocl 170516 + _odoc/blog/2025/09/page-caching-opam-solutions.odocl 170517 + _odoc/blog/2025/09/page-caching-opam-solutions2.odocl 170518 + _odoc/blog/2025/09/page-giving-hub-cl-an-upgrade.odocl 170519 + _odoc/blog/2025/09/page-odoc-bugs.odocl 170520 + _odoc/blog/2025/11/page-foundations-of-computer-science.odocl 170521 + _odoc/blog/2025/12/page-an-svg-is-all-you-need.odocl 170522 + _odoc/blog/2025/12/page-claude-and-dune.odocl 170523 + _odoc/blog/2026/01/page-weeknotes-2026-03.odocl 170524 + _odoc/blog/2026/01/page-weeknotes-2026-04-05.odocl 170525 + _odoc/blog/2026/02/page-odoc-js-notebooks-fun.odocl 170526 + _odoc/blog/2026/02/page-weeknotes-2026-06.odocl 170527 + _odoc/blog/2026/02/page-weeknotes-2026-08.odocl 170528 + _odoc/blog/2026/03/page-open-source-and-ai.odocl 170529 + _odoc/blog/2026/03/page-weeknotes-2026-09.odocl 170530 + _odoc/blog/2026/03/page-weeknotes-2026-10.odocl 170531 + _odoc/blog/2026/03/page-weeknotes-2026-11.odocl 170532 + _odoc/blog/2026/03/page-weeknotes-2026-12.odocl 170533 + _odoc/blog/2026/03/page-weeknotes-2026-13.odocl 170534 + _odoc/blog/2026/04/page-odoc_and_ocaml_notebooks.odocl 170535 + _odoc/blog/2026/04/page-weeknotes-2026-15.odocl) 170536 + (action 170537 + (run ../scripts/gen_atom.exe _odoc/blog atom.xml.gen))) 170538 + 170539 + (rule 170540 + (alias runtest) 170541 + (action 170542 + (diff? ../atom.xml atom.xml.gen)))
+16
site/tags/ai.mld
··· 1 + {0 Tag: ai} 2 + 3 + @tagged-pages ai 4 + 5 + {ul 6 + {- {{!//blog/2026/02/page-"weeknotes-2026-08"}Weeknotes weeks 7-8} 2026-02-24} 7 + {- {{!//blog/2026/01/page-"weeknotes-2026-04-05"}Weeknotes for weeks 4-5} 2026-01-30} 8 + {- {{!//blog/2025/12/page-"claude-and-dune"}Claude and Dune} 2025-12-18} 9 + {- {{!//blog/2025/08/page-"ocaml-lsp-mcp"}Using ocaml-lsp-server via an MCP server} 2025-08-27} 10 + {- {{!//blog/2025/08/page-"ocaml-mcp-server"}An OCaml MCP server} 2025-08-20} 11 + {- {{!//blog/2025/08/page-week33}Week 33} 2025-08-19} 12 + {- {{!//blog/2025/07/page-week28}Week 28} 2025-07-14} 13 + {- {{!//blog/2025/07/page-week27}Weeks 24-27} 2025-07-07} 14 + {- {{!//blog/2025/05/page-"ticks-solved-by-ai"}Solving First-year OCaml exercises with AI} 2025-05-07} 15 + {- {{!//blog/2025/05/page-"ai-for-climate-and-nature-day"}AI for Climate & Nature Community Day} 2025-05-01} 16 + }
+13
site/tags/docs-ci.mld
··· 1 + {0 Tag: docs-ci} 2 + 3 + @tagged-pages docs-ci 4 + 5 + {ul 6 + {- {{!//blog/2025/09/page-"caching-opam-solutions2"}Caching opam solutions - part 2} 2025-09-23} 7 + {- {{!//blog/2025/09/page-"caching-opam-solutions"}Caching opam solutions} 2025-09-09} 8 + {- {{!//blog/2025/09/page-"build-ids-for-day10"}Build IDs for Day10} 2025-09-08} 9 + {- {{!//blog/2025/06/page-week23}Week 23} 2025-06-09} 10 + {- {{!//blog/2025/05/page-"docs-progress"}Progress in OCaml docs} 2025-05-29} 11 + {- {{!//blog/2025/05/page-"lots-of-things"}Lots of things have been happening} 2025-05-20} 12 + {- {{!//blog/2025/04/page-"ocaml-docs-ci-and-odoc-3"}OCaml-Docs-CI and Odoc 3} 2025-04-29} 13 + }
+8 -2
site/tags/index.mld
··· 1 1 {0 Tags} 2 2 3 - Pages grouped by tag. Each tag page lists posts that carry it. 3 + Pages grouped by tag. 4 4 5 5 {ul 6 + {- {{!page-ai}ai}} 7 + {- {{!page-"docs-ci"}docs-ci}} 8 + {- {{!page-meta}meta}} 9 + {- {{!page-notebooks}notebooks}} 6 10 {- {{!page-ocaml}ocaml}} 7 11 {- {{!page-odoc}odoc}} 8 12 {- {{!page-plugins}plugins}} 9 - {- {{!page-meta}meta}} 13 + {- {{!page-teaching}teaching}} 14 + {- {{!page-tessera}tessera}} 15 + {- {{!page-weeknotes}weeknotes}} 10 16 }
+6 -3
site/tags/meta.mld
··· 1 1 {0 Tag: meta} 2 2 3 - Pages tagged [meta]. 3 + @tagged-pages meta 4 4 5 - {i (An auto-generated list of pages carrying this tag will live here 6 - once the [@tagged-pages] consumer extension ships.)} 5 + {ul 6 + {- {{!//blog/2025/07/page-retrospective}4 months in, a retrospective} 2025-07-18} 7 + {- {{!//blog/2025/04/page-"meeting-the-team"}Meeting the Team} 2025-04-08} 8 + {- {{!//blog/2025/04/page-"this-site"}This site} 2025-04-07} 9 + }
+10
site/tags/notebooks.mld
··· 1 + {0 Tag: notebooks} 2 + 3 + @tagged-pages notebooks 4 + 5 + {ul 6 + {- {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks} 2026-04-06} 7 + {- {{!//blog/2026/03/page-"weeknotes-2026-10"}Weeknotes 2026 week 10} 2026-03-09} 8 + {- {{!//blog/2026/02/page-"weeknotes-2026-06"}Weeknotes for week 6} 2026-02-09} 9 + {- {{!//blog/2025/12/page-"an-svg-is-all-you-need"}An SVG is all you need} 2025-12-09} 10 + }
+10 -3
site/tags/ocaml.mld
··· 1 1 {0 Tag: ocaml} 2 2 3 - Pages tagged [ocaml]. 3 + @tagged-pages ocaml 4 4 5 - {i (An auto-generated list of pages carrying this tag will live here 6 - once the [@tagged-pages] consumer extension ships.)} 5 + {ul 6 + {- {{!//blog/2025/11/page-"foundations-of-computer-science"}Foundations of Computer Science} 2025-11-14} 7 + {- {{!//blog/2025/09/page-"giving-hub-cl-an-upgrade"}Giving hub.cl an upgrade} 2025-09-07} 8 + {- {{!//blog/2025/05/page-"lots-of-things"}Lots of things have been happening} 2025-05-20} 9 + {- {{!//blog/2025/05/page-"ticks-solved-by-ai"}Solving First-year OCaml exercises with AI} 2025-05-07} 10 + {- {{!//blog/2025/05/page-"oxcaml-gets-closer"}OxCaml is getting closer...} 2025-05-02} 11 + {- {{!//blog/2025/04/page-"semantic-versioning-is-hard"}Semantic Versioning in OCaml is Hard} 2025-04-20} 12 + {- {{!//blog/2025/03/page-"module-type-of"}The Road to Odoc 3: Module Type Of} 2025-03-08} 13 + }
+19 -3
site/tags/odoc.mld
··· 1 1 {0 Tag: odoc} 2 2 3 - Pages tagged [odoc]. 3 + @tagged-pages odoc 4 4 5 - {i (An auto-generated list of pages carrying this tag will live here 6 - once the [@tagged-pages] consumer extension ships.)} 5 + {ul 6 + {- {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks} 2026-04-06} 7 + {- {{!//blog/2026/03/page-"weeknotes-2026-09"}Weeknotes 2026 week 9} 2026-03-02} 8 + {- {{!//blog/2026/01/page-"weeknotes-2026-04-05"}Weeknotes for weeks 4-5} 2026-01-30} 9 + {- {{!//blog/2026/01/page-"weeknotes-2026-03"}Weeknotes for week 3} 2026-01-19} 10 + {- {{!//blog/2025/12/page-"claude-and-dune"}Claude and Dune} 2025-12-18} 11 + {- {{!//blog/2025/09/page-"odoc-bugs"}Odoc bugs} 2025-09-22} 12 + {- {{!//blog/2025/07/page-"odoc-3-live-on-ocaml-org"}Odoc 3 is live on OCaml.org!} 2025-07-14} 13 + {- {{!//blog/2025/07/page-week27}Weeks 24-27} 2025-07-07} 14 + {- {{!//blog/2025/06/page-week23}Week 23} 2025-06-09} 15 + {- {{!//blog/2025/05/page-"docs-progress"}Progress in OCaml docs} 2025-05-29} 16 + {- {{!//blog/2025/05/page-"lots-of-things"}Lots of things have been happening} 2025-05-20} 17 + {- {{!//blog/2025/04/page-"ocaml-docs-ci-and-odoc-3"}OCaml-Docs-CI and Odoc 3} 2025-04-29} 18 + {- {{!//blog/2025/04/page-"odoc-3"}Odoc 3: So what?} 2025-04-25} 19 + {- {{!//blog/2025/04/page-"this-site"}This site} 2025-04-07} 20 + {- {{!//blog/2025/03/page-"module-type-of"}The Road to Odoc 3: Module Type Of} 2025-03-08} 21 + {- {{!//blog/2025/03/page-"code-block-metadata"}Code block metadata} 2025-03-07} 22 + }
+7 -3
site/tags/plugins.mld
··· 1 1 {0 Tag: plugins} 2 2 3 - Pages tagged [plugins]. 3 + @tagged-pages plugins 4 4 5 - {i (An auto-generated list of pages carrying this tag will live here 6 - once the [@tagged-pages] consumer extension ships.)} 5 + {ul 6 + {- {{!//blog/2026/03/page-"weeknotes-2026-09"}Weeknotes 2026 week 9} 2026-03-02} 7 + {- {{!//blog/2025/12/page-"an-svg-is-all-you-need"}An SVG is all you need} 2025-12-09} 8 + {- {{!//blog/2025/08/page-"ocaml-lsp-mcp"}Using ocaml-lsp-server via an MCP server} 2025-08-27} 9 + {- {{!//blog/2025/08/page-"ocaml-mcp-server"}An OCaml MCP server} 2025-08-20} 10 + }
+10
site/tags/teaching.mld
··· 1 + {0 Tag: teaching} 2 + 3 + @tagged-pages teaching 4 + 5 + {ul 6 + {- {{!//blog/2026/02/page-"weeknotes-2026-08"}Weeknotes weeks 7-8} 2026-02-24} 7 + {- {{!//blog/2025/11/page-"foundations-of-computer-science"}Foundations of Computer Science} 2025-11-14} 8 + {- {{!//blog/2025/09/page-"giving-hub-cl-an-upgrade"}Giving hub.cl an upgrade} 2025-09-07} 9 + {- {{!//blog/2025/05/page-"ticks-solved-by-ai"}Solving First-year OCaml exercises with AI} 2025-05-07} 10 + }
+11
site/tags/tessera.mld
··· 1 + {0 Tag: tessera} 2 + 3 + @tagged-pages tessera 4 + 5 + {ul 6 + {- {{!//blog/2026/04/page-"odoc_and_ocaml_notebooks"}Odoc and OCaml Notebooks} 2026-04-06} 7 + {- {{!//blog/2026/03/page-"weeknotes-2026-13"}Weeknotes 2026 week 13} 2026-03-31} 8 + {- {{!//blog/2026/03/page-"weeknotes-2026-12"}Weeknotes 2026 week 12} 2026-03-23} 9 + {- {{!//blog/2026/03/page-"weeknotes-2026-11"}Weeknotes 2026 week 11} 2026-03-18} 10 + {- {{!//blog/2026/03/page-"weeknotes-2026-10"}Weeknotes 2026 week 10} 2026-03-09} 11 + }
+19
site/tags/weeknotes.mld
··· 1 + {0 Tag: weeknotes} 2 + 3 + @tagged-pages weeknotes 4 + 5 + {ul 6 + {- {{!//blog/2026/03/page-"weeknotes-2026-13"}Weeknotes 2026 week 13} 2026-03-31} 7 + {- {{!//blog/2026/03/page-"weeknotes-2026-12"}Weeknotes 2026 week 12} 2026-03-23} 8 + {- {{!//blog/2026/03/page-"weeknotes-2026-11"}Weeknotes 2026 week 11} 2026-03-18} 9 + {- {{!//blog/2026/03/page-"weeknotes-2026-10"}Weeknotes 2026 week 10} 2026-03-09} 10 + {- {{!//blog/2026/03/page-"weeknotes-2026-09"}Weeknotes 2026 week 9} 2026-03-02} 11 + {- {{!//blog/2026/02/page-"weeknotes-2026-08"}Weeknotes weeks 7-8} 2026-02-24} 12 + {- {{!//blog/2026/02/page-"weeknotes-2026-06"}Weeknotes for week 6} 2026-02-09} 13 + {- {{!//blog/2026/01/page-"weeknotes-2026-04-05"}Weeknotes for weeks 4-5} 2026-01-30} 14 + {- {{!//blog/2026/01/page-"weeknotes-2026-03"}Weeknotes for week 3} 2026-01-19} 15 + {- {{!//blog/2025/08/page-week33}Week 33} 2025-08-19} 16 + {- {{!//blog/2025/07/page-week28}Week 28} 2025-07-14} 17 + {- {{!//blog/2025/07/page-week27}Weeks 24-27} 2025-07-07} 18 + {- {{!//blog/2025/06/page-week23}Week 23} 2025-06-09} 19 + }