# \#documentation

**URL:** https://discuss.ocaml.org/tag/documentation/95.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [Dune build @doc with menhir generated files](https://discuss.ocaml.org/t/dune-build-doc-with-menhir-generated-files/18337)

<div class="topic-metadata">

**Author:** [@Nyavlys](https://discuss.ocaml.org/u/Nyavlys)\
**Replies:** 3\
**Last updated:** [July 14, 2026, 9:47am UTC](https://discuss.ocaml.org/t/dune-build-doc-with-menhir-generated-files/18337 "2026-07-14T09:47:14Z")

</div>

Hi, After moving from menhir.20250912 to more recent versions, I have the following error message from odocwhen running dune build @doc Error: While resolving the expansion of include at File "src/scripting/tableParser…

---

## [Executable documentation examples?](https://discuss.ocaml.org/t/executable-documentation-examples/17971)

<div class="topic-metadata">

**Author:** [@Yoric](https://discuss.ocaml.org/u/Yoric)\
**Replies:** 1\
**Last updated:** [April 10, 2026, 8:22am UTC](https://discuss.ocaml.org/t/executable-documentation-examples/17971 "2026-04-10T08:22:43Z")

</div>

In Rust, the standard test harness will extract snippets from the documentation and run them as tests, e.g. the following documentation will fail the test suite: /\*\* \* Add two values \* \* \`\`\` \* assert\_eq!(add(2, 2…

---

## [Language manual: floatarray documentation?](https://discuss.ocaml.org/t/language-manual-floatarray-documentation/17844)

<div class="topic-metadata">

**Author:** [@Piero\_Furiesi](https://discuss.ocaml.org/u/Piero_Furiesi)\
**Replies:** 6\
**Last updated:** [February 25, 2026, 12:53pm UTC](https://discuss.ocaml.org/t/language-manual-floatarray-documentation/17844 "2026-02-25T12:53:00Z")

</div>

Hi everyone, I put myself in the shoes of a beginner looking for the predefined types in the OCaml manual. The floatarray type has been introduced since release 4.6.0 to make the choice between boxed vs. unboxed repres…

---

## [Documentation for folder with (include\_subdirs qualified)](https://discuss.ocaml.org/t/documentation-for-folder-with-include-subdirs-qualified/17210)

<div class="topic-metadata">

**Author:** [@giltho](https://discuss.ocaml.org/u/giltho)\
**Replies:** 1\
**Last updated:** [September 5, 2025, 2:48pm UTC](https://discuss.ocaml.org/t/documentation-for-folder-with-include-subdirs-qualified/17210 "2025-09-05T14:48:11Z")

</div>

Hello, I have a library that uses some (include\_subdirs qualified) and I would like to write some module documentation for one of the folders, and I’m stuck. The folder looks like soteria/lib/ ├── dune # (inc…

---

## [2025 Documentation best practices](https://discuss.ocaml.org/t/2025-documentation-best-practices/17008)

<div class="topic-metadata">

**Author:** [@giltho](https://discuss.ocaml.org/u/giltho)\
**Replies:** 36\
**Last updated:** [August 4, 2025, 8:52am UTC](https://discuss.ocaml.org/t/2025-documentation-best-practices/17008 "2025-08-04T08:52:14Z")

</div>

Hello hello, I’m currently working on a project where I’d like to have a nice website explaining how to work with the code. Supposedly, I’d generate this with some documentation/static site generator. However, if possib…

---

## [An example for every OCaml package](https://discuss.ocaml.org/t/an-example-for-every-ocaml-package/16953)

<div class="topic-metadata">

**Author:** [@JohnWhitington](https://discuss.ocaml.org/u/JohnWhitington)\
**Replies:** 9\
**Last updated:** [July 15, 2025, 6:51pm UTC](https://discuss.ocaml.org/t/an-example-for-every-ocaml-package/16953 "2025-07-15T18:51:04Z")

</div>

(One day, maybe). Wouldn’t it be nice if every OCaml package had examples as well as documentation? As part of a pilot programme funded by the OCaml Software Foundation, I’ve been looking into the feasibility of such an…

---

## [Would you be interested by a Sphinx in OCaml?](https://discuss.ocaml.org/t/would-you-be-interested-by-a-sphinx-in-ocaml/16855)

<div class="topic-metadata">

**Author:** [@v01dXYZ](https://discuss.ocaml.org/u/v01dXYZ)\
**Replies:** 6\
**Last updated:** [June 22, 2025, 11:52am UTC](https://discuss.ocaml.org/t/would-you-be-interested-by-a-sphinx-in-ocaml/16855 "2025-06-22T11:52:37Z")

</div>

Hello, I’m coding a rst parser in ocaml (it works but needs a lot more testing and code cleaning, which is many weeks work. It is 10x faster than docutils) and I’d like to project myself in new endeavours using this par…

---

## [Documentation for \`Hashtbl.hash\` does not mention the default meaningful nodes limit](https://discuss.ocaml.org/t/documentation-for-hashtbl-hash-does-not-mention-the-default-meaningful-nodes-limit/16150)

<div class="topic-metadata">

**Author:** [@LaifsV1](https://discuss.ocaml.org/u/LaifsV1)\
**Replies:** 4\
**Last updated:** [February 19, 2025, 6:28am UTC](https://discuss.ocaml.org/t/documentation-for-hashtbl-hash-does-not-mention-the-default-meaningful-nodes-limit/16150 "2025-02-19T06:28:23Z")

</div>

The documentation for Hashtbl.hash currently reads: Hashtbl.hash x associates a nonnegative integer to any value of any type. It is guaranteed that if x = y or Stdlib.compare x y = 0, then hash x = hash y. Moreover, ha…

---

## [Odoc: Support for Examples](https://discuss.ocaml.org/t/odoc-support-for-examples/16096)

<div class="topic-metadata">

**Author:** [@NoahTheDuke](https://discuss.ocaml.org/u/NoahTheDuke)\
**Replies:** 2\
**Last updated:** [February 8, 2025, 12:19pm UTC](https://discuss.ocaml.org/t/odoc-support-for-examples/16096 "2025-02-08T12:19:32Z")

</div>

In writing documentation, I like to include usage examples in addition to plain-language descriptions of what the code does. An example from my own code: (\*\* \[roll\_imposter card\] will change card's rank to \[Imposter (So…

---

## [Contributing to OCaml recipes: Debug Print a Value](https://discuss.ocaml.org/t/contributing-to-ocaml-recipes-debug-print-a-value/15898)

<div class="topic-metadata">

**Author:** [@mostafatouny](https://discuss.ocaml.org/u/mostafatouny)\
**Replies:** 19\
**Last updated:** [January 9, 2025, 3:22pm UTC](https://discuss.ocaml.org/t/contributing-to-ocaml-recipes-debug-print-a-value/15898 "2025-01-09T15:22:03Z")

</div>

I previously posted Invitation to a new Ocaml tutorial - Imperative, Logic, Javascript but considering the status of OCaml Cookbook, I believe the latter is priority. Let’s start with Debug a print value. I figured the …

---

## [Documenting what signatures are intended to be implemented by a module](https://discuss.ocaml.org/t/documenting-what-signatures-are-intended-to-be-implemented-by-a-module/14976)

<div class="topic-metadata">

**Author:** [@patrick-nicodemus](https://discuss.ocaml.org/u/patrick-nicodemus)\
**Replies:** 6\
**Last updated:** [July 17, 2024, 4:32pm UTC](https://discuss.ocaml.org/t/documenting-what-signatures-are-intended-to-be-implemented-by-a-module/14976 "2024-07-17T16:32:17Z")

</div>

I was speaking to a Haskell user and they said that one thing they like about typeclasses is that one has to explicitly register an instance of the typeclass in the source code, so that tooling can easily tell you what i…

---

## [\[ANN\] OCaml Tech Talk | Editor Features](https://discuss.ocaml.org/t/ann-ocaml-tech-talk-editor-features/14746)

<div class="topic-metadata">

**Author:** [@PizieDust](https://discuss.ocaml.org/u/PizieDust)\
**Replies:** 4\
**Last updated:** [June 25, 2024, 7:43pm UTC](https://discuss.ocaml.org/t/ann-ocaml-tech-talk-editor-features/14746 "2024-06-25T19:43:03Z")

</div>

Hello everyone. It’s been an exciting period for me and I would like to invite you to my Tech Talk, this Friday, where I will be presenting some of the work I’ve been doing on the Editor’s team. I will be presenting two …

---

## [\`odoc\` Documentation Improvements](https://discuss.ocaml.org/t/odoc-documentation-improvements/14674)

<div class="topic-metadata">

**Author:** [@professor.rose](https://discuss.ocaml.org/u/professor.rose)\
**Replies:** 7\
**Last updated:** [May 26, 2024, 9:16am UTC](https://discuss.ocaml.org/t/odoc-documentation-improvements/14674 "2024-05-26T09:16:57Z")

</div>

The odoc team is working to improve the documentation, so we’re reaching out to the community to find out these things: Are you using odoc? If so, how do you use it? What are your thoughts? What parts of the documentat…

---

## [Help Review the new "File Manipulation" tutorial on OCaml.org](https://discuss.ocaml.org/t/help-review-the-new-file-manipulation-tutorial-on-ocaml-org/12638)

<div class="topic-metadata">

**Author:** [@sabine](https://discuss.ocaml.org/u/sabine)\
**Replies:** 29\
**Last updated:** [April 17, 2024, 9:37am UTC](https://discuss.ocaml.org/t/help-review-the-new-file-manipulation-tutorial-on-ocaml-org/12638 "2024-04-17T09:37:44Z")

</div>

Hey everyone, there’s a new version of the “File Manipulation” tutorial on https://staging.ocaml.org/docs/file-manipulation For comparison: the old version of this tutorial is here File Manipulation · OCaml Tutorials. …

---

## [How to submit PRs for the manual](https://discuss.ocaml.org/t/how-to-submit-prs-for-the-manual/14228)

<div class="topic-metadata">

**Author:** [@mobileink](https://discuss.ocaml.org/u/mobileink)\
**Replies:** 8\
**Last updated:** [March 1, 2024, 8:08pm UTC](https://discuss.ocaml.org/t/how-to-submit-prs-for-the-manual/14228 "2024-03-01T20:08:04Z")

</div>

What is the right way to propose changes for the manual? A PR on the trunk branch? I’m seeing a lot of little bugs. Like the following from the section on value restriction: “…the type checker considers that any value r…

---

## [\[ANN\] Sherlodoc, a search engine for OCaml documentation](https://discuss.ocaml.org/t/ann-sherlodoc-a-search-engine-for-ocaml-documentation/14011)

<div class="topic-metadata">

**Author:** [@EmileTrotignon](https://discuss.ocaml.org/u/EmileTrotignon)\
**Replies:** 7\
**Last updated:** [February 8, 2024, 11:45am UTC](https://discuss.ocaml.org/t/ann-sherlodoc-a-search-engine-for-ocaml-documentation/14011 "2024-02-08T11:45:31Z")

</div>

We (@art-w, @EmileTrotignon) are pleased to announce the first release of Sherlodoc on opam! Sherlodoc is a search engine for OCaml documentation, which supports search by name, documentation and fuzzy type search (simi…

---

## [Where to find complete documentation on syntax overloading in OCaml?](https://discuss.ocaml.org/t/where-to-find-complete-documentation-on-syntax-overloading-in-ocaml/13311)

<div class="topic-metadata">

**Author:** [@chshersh](https://discuss.ocaml.org/u/chshersh)\
**Replies:** 9\
**Last updated:** [October 26, 2023, 8:17am UTC](https://discuss.ocaml.org/t/where-to-find-complete-documentation-on-syntax-overloading-in-ocaml/13311 "2023-10-26T08:17:15Z")

</div>

Hi everyone, I’m reading source code of OCaml projects and sometimes I see some interesting syntax overloading features. For example, from the ocaml-non-empty-list package, I learned that you can overload the list lite…

---

## [Using Docusaurus to document an OCaml project](https://discuss.ocaml.org/t/using-docusaurus-to-document-an-ocaml-project/13359)

<div class="topic-metadata">

**Author:** [@mbarbin](https://discuss.ocaml.org/u/mbarbin)\
**Replies:** 0\
**Last updated:** [November 2, 2023, 6:05pm UTC](https://discuss.ocaml.org/t/using-docusaurus-to-document-an-ocaml-project/13359 "2023-11-02T18:05:14Z")

</div>

Hi! I wanted to share some positive feedback on using Docusaurus to document an OCaml Project: Bopkit. Among the reasons I chose to experiment with it was its compatibility with ocaml-mdx and the dune-runtest & dune-pr…

---

## [How to make the documentation of a package available on ocaml.org](https://discuss.ocaml.org/t/how-to-make-the-documentation-of-a-package-available-on-ocaml-org/13011)

<div class="topic-metadata">

**Author:** [@pveber](https://discuss.ocaml.org/u/pveber)\
**Replies:** 7\
**Last updated:** [September 14, 2023, 6:19pm UTC](https://discuss.ocaml.org/t/how-to-make-the-documentation-of-a-package-available-on-ocaml-org/13011 "2023-09-14T18:19:10Z")

</div>

Hi all, I would like the documentation of my packages to be available on ocaml.org, but I can’t find the info on the requirements for that. Local doc generation works (simply invoking dune build @doc) but it seems it is…

---

## [Poll: Do you prefer UK or US spelling in documentation?](https://discuss.ocaml.org/t/poll-do-you-prefer-uk-or-us-spelling-in-documentation/12921)

<div class="topic-metadata">

**Author:** [@sabine](https://discuss.ocaml.org/u/sabine)\
**Replies:** 10\
**Last updated:** [September 8, 2023, 8:42am UTC](https://discuss.ocaml.org/t/poll-do-you-prefer-uk-or-us-spelling-in-documentation/12921 "2023-09-08T08:42:13Z")

</div>

For OCaml.org documentation, we want to achieve consistency in spelling. Since we don’t want to waste time discussing this internally: Here’s a poll for you to vote: poll

---

## [\[ANN\] Improvement on the PPX ecosystem documentation](https://discuss.ocaml.org/t/ann-improvement-on-the-ppx-ecosystem-documentation/11438)

<div class="topic-metadata">

**Author:** [@panglesd](https://discuss.ocaml.org/u/panglesd)\
**Replies:** 2\
**Last updated:** [February 20, 2023, 7:11pm UTC](https://discuss.ocaml.org/t/ann-improvement-on-the-ppx-ecosystem-documentation/11438 "2023-02-20T19:11:23Z")

</div>

From the OCaml survey and several discuss threads, it seems clear that documentation is an important issue in OCaml, especially with PPXs. I’m pleased to announce two improvements on this side: the publication (last summ…

---

## [Chapter on binding operators](https://discuss.ocaml.org/t/chapter-on-binding-operators/11452)

<div class="topic-metadata">

**Author:** [@sanette](https://discuss.ocaml.org/u/sanette)\
**Replies:** 2\
**Last updated:** [February 18, 2023, 10:55am UTC](https://discuss.ocaml.org/t/chapter-on-binding-operators/11452 "2023-02-18T10:55:35Z")

</div>

Hi it seems to me that Chapter 23 of the manual could be improved to make it friendlier a wider range of readers. But first I need to know if I understand correctly: Suppose you define let\*. Is this true that let\* x …

---

## [Ocaml.org docs not found](https://discuss.ocaml.org/t/ocaml-org-docs-not-found/10369)

<div class="topic-metadata">

**Author:** [@ryanslade](https://discuss.ocaml.org/u/ryanslade)\
**Replies:** 4\
**Last updated:** [August 25, 2022, 2:43pm UTC](https://discuss.ocaml.org/t/ocaml-org-docs-not-found/10369 "2022-08-25T14:43:21Z")

</div>

I’ve tried a couple of packages and the documentation links on ocaml.org appear to be missing, I get a 404 error: https://ocaml.org/p/lwt/5.6.1/doc/index.html https://ocaml.org/p/core/v0.15.0/doc/index.html

---

## [Deploy documentation with dune](https://discuss.ocaml.org/t/deploy-documentation-with-dune/10357)

<div class="topic-metadata">

**Author:** [@Lupjo](https://discuss.ocaml.org/u/Lupjo)\
**Replies:** 2\
**Last updated:** [August 23, 2022, 6:20am UTC](https://discuss.ocaml.org/t/deploy-documentation-with-dune/10357 "2022-08-23T06:20:44Z")

</div>

Dune allows to generate OCamlDoc documentation using dune build @doc. opam has a with-doc target which runs dune build @doc and puts documentation in the .opam folder. Only, it doesn’t put the ocamldoc afaik. Is there a …

---

## [\`{!Ocaml\_operators}\` in different styles](https://discuss.ocaml.org/t/ocaml-operators-in-different-styles/10096)

<div class="topic-metadata">

**Author:** [@muzimuzhi](https://discuss.ocaml.org/u/muzimuzhi)\
**Replies:** 2\
**Last updated:** [July 1, 2022, 12:47am UTC](https://discuss.ocaml.org/t/ocaml-operators-in-different-styles/10096 "2022-07-01T00:47:15Z")

</div>

On doc page OCaml library : Stdlib, v4.14 When used in a normal doc entry, the interpreted result of {!Ocaml\_operators} has a background color. When used in a doc entry for deprecated operator (maybe also functions and…

---

## [Stdlib doc: inconsistent spaces around operators, (==) vs ( == )](https://discuss.ocaml.org/t/stdlib-doc-inconsistent-spaces-around-operators-vs/10072)

<div class="topic-metadata">

**Author:** [@muzimuzhi](https://discuss.ocaml.org/u/muzimuzhi)\
**Replies:** 5\
**Last updated:** [June 29, 2022, 5:34pm UTC](https://discuss.ocaml.org/t/stdlib-doc-inconsistent-spaces-around-operators-vs/10072 "2022-06-29T17:34:43Z")

</div>

On doc page OCaml library : Stdlib, which looks not consistent. Related source lines: ocaml/stdlib.mli at 40113fbc73930b41a7a2df468de18c94feeefdf5 · ocaml/ocaml · GitHub Those spaces were added 12 years ago, by com…

---

## [List of OCaml warnings with '@since'-like tag](https://discuss.ocaml.org/t/list-of-ocaml-warnings-with-since-like-tag/9439)

<div class="topic-metadata">

**Author:** [@amaro](https://discuss.ocaml.org/u/amaro)\
**Replies:** 1\
**Last updated:** [March 1, 2022, 7:40pm UTC](https://discuss.ocaml.org/t/list-of-ocaml-warnings-with-since-like-tag/9439 "2022-03-01T19:40:57Z")

</div>

My colleague wanted to find out in which version warning 70: missing-mli was introduced, but we could not find a large list of warning numbers with @since-like tags indicating which compiler versions introduced them. Af…

---

## [Quickly viewing OCaml function documentation](https://discuss.ocaml.org/t/quickly-viewing-ocaml-function-documentation/9120)

<div class="topic-metadata">

**Author:** [@mndrix](https://discuss.ocaml.org/u/mndrix)\
**Replies:** 5\
**Last updated:** [January 10, 2022, 10:19pm UTC](https://discuss.ocaml.org/t/quickly-viewing-ocaml-function-documentation/9120 "2022-01-10T22:19:42Z")

</div>

I’m new to OCaml and was previously accustomed to man open (C) or go doc os open (Go) to view documentation for a specific function. It looks like maybe ocp-index print is the OCaml equivalent. I wrote a shell function …

---

## [\[ANN\] Odig 0.0.7, lookup documentation of installed OCaml packages](https://discuss.ocaml.org/t/ann-odig-0-0-7-lookup-documentation-of-installed-ocaml-packages/8600)

<div class="topic-metadata">

**Author:** [@dbuenzli](https://discuss.ocaml.org/u/dbuenzli)\
**Replies:** 7\
**Last updated:** [October 11, 2021, 9:08am UTC](https://discuss.ocaml.org/t/ann-odig-0-0-7-lookup-documentation-of-installed-ocaml-packages/8600 "2021-10-11T09:08:47Z")

</div>

Hello, It’s my pleasure to announce the release 0.0.7 of odig. Odig is a command line tool to lookup documentation of installed OCaml packages. Once it has made it to the repo, install with opam install ocaml-manual od…

---

## [The compilation model of OCaml modules](https://discuss.ocaml.org/t/the-compilation-model-of-ocaml-modules/8490)

<div class="topic-metadata">

**Author:** [@hyphenrf](https://discuss.ocaml.org/u/hyphenrf)\
**Replies:** 3\
**Last updated:** [September 21, 2021, 8:34pm UTC](https://discuss.ocaml.org/t/the-compilation-model-of-ocaml-modules/8490 "2021-09-21T20:34:15Z")

</div>

Has there been any write-up on the way OCaml achieves fast compilation times (similar to this by Rob Pike on Go’s compilation model)? It would be interesting to compare the approaches of two of the fastest compilers ou…

[Next page](https://discuss.ocaml.org/tag/documentation/95.md?match_all_tags=true&page=1&tags%5B%5D=documentation)
