# \#design

**URL:** https://discuss.ocaml.org/tag/design/436.md

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

---

## [\[ANN\] Vaast 0.0.0 + Design discussion](https://discuss.ocaml.org/t/ann-vaast-0-0-0-design-discussion/18583)

<div class="topic-metadata">

**Author:** [@fantazio](https://discuss.ocaml.org/u/fantazio)\
**Replies:** 2\
**Last updated:** [October 6, 2026, 2:50pm UTC](https://discuss.ocaml.org/t/ann-vaast-0-0-0-design-discussion/18583 "2026-10-06T14:50:22Z")

</div>

Hi all, This is a bit of mixed post. I am excited to announce the 1st prototype of Vaast ! Vaast is a library to handle multiple versions of the Typedtree at once. It is meant as a replacement for the current compiler…

---

## [\[BLOG\] The little type that could too much](https://discuss.ocaml.org/t/blog-the-little-type-that-could-too-much/18375)

<div class="topic-metadata">

**Author:** [@raphael-proust](https://discuss.ocaml.org/u/raphael-proust)\
**Replies:** 0\
**Last updated:** [July 21, 2026, 1:09pm UTC](https://discuss.ocaml.org/t/blog-the-little-type-that-could-too-much/18375 "2026-07-21T13:09:58Z")

</div>

I wrote a small blog post about how some types are intended for multiple use cases and it’s not always grerat. It uses the Stdlib as a small example in the intro, but the real focus is on Lwt. Feedback (on the post or…

---

## [\[Real world Ocaml\] Put t first](https://discuss.ocaml.org/t/real-world-ocaml-put-t-first/17721)

<div class="topic-metadata">

**Author:** [@louisono](https://discuss.ocaml.org/u/louisono)\
**Replies:** 13\
**Last updated:** [January 22, 2026, 11:16pm UTC](https://discuss.ocaml.org/t/real-world-ocaml-put-t-first/17721 "2026-01-22T23:16:44Z")

</div>

Hello, I just finished reading the early module chapter of “Real world Ocaml” and wondered about the rationale behind one of the module design guidelines shared towards the end of the chapter (guideline used apparently i…

---

## [Early termination in folds](https://discuss.ocaml.org/t/early-termination-in-folds/16076)

<div class="topic-metadata">

**Author:** [@bsidhom](https://discuss.ocaml.org/u/bsidhom)\
**Replies:** 18\
**Last updated:** [February 17, 2025, 1:01pm UTC](https://discuss.ocaml.org/t/early-termination-in-folds/16076 "2025-02-17T13:01:12Z")

</div>

In lazily evaluated languages like Haskell, there is is an operational runtime difference between foldl and foldr even when you are applying an associative reduce operation. This is because the former is essentially left…

---

## [How to "block" in an agnostic way?](https://discuss.ocaml.org/t/how-to-block-in-an-agnostic-way/9368)

<div class="topic-metadata">

**Author:** [@gasche](https://discuss.ocaml.org/u/gasche)\
**Replies:** 49\
**Last updated:** [February 24, 2022, 11:04am UTC](https://discuss.ocaml.org/t/how-to-block-in-an-agnostic-way/9368 "2022-02-24T11:04:51Z")

</div>

In the long EIO thread I inadvertently started a thread of discussion, here is a proper topic for it. The problem: how to lock in an agnostic way? Agnostic: independent of the user-chosen concurrency abstraction, but co…

---

## ["Diátaxis" documentation structure](https://discuss.ocaml.org/t/diataxis-documentation-structure/7750)

<div class="topic-metadata">

**Author:** [@gasche](https://discuss.ocaml.org/u/gasche)\
**Replies:** 32\
**Last updated:** [May 10, 2021, 3:07pm UTC](https://discuss.ocaml.org/t/diataxis-documentation-structure/7750 "2021-05-10T15:07:41Z")

</div>

Hi everyone, I recently learned of Diátaxis, described as “A systematic framework for technical documentation authoring”. It is a website with someone’s opinions about how to write good documentation (actually how to st…
