# Feedback / Help Wanted: Upcoming OCaml.org Cookbook Feature

**URL:** <https://discuss.ocaml.org/t/feedback-help-wanted-upcoming-ocaml-org-cookbook-feature/14127>\
**Category:** Community\
**Tags:** user-feedback, ocamlorg\
**Created:** [February 20, 2024, 8:53am UTC](https://discuss.ocaml.org/t/feedback-help-wanted-upcoming-ocaml-org-cookbook-feature/14127 "2024-02-20T08:53:18Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![amongonz](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@amongonz](https://discuss.ocaml.org/u/amongonz)\
**Post date:** [April 20, 2024, 12:53pm UTC](https://discuss.ocaml.org/t/feedback-help-wanted-upcoming-ocaml-org-cookbook-feature/14127/21 "2024-04-20T12:53:44Z")

</div>

Maybe we should split this into a different thread, but:

> [@yawaramin](#):
>
> I was surprised when you said ‘UTF-8 is fully supported by the standard library’. Because when people hear that, call me crazy but they will expect to be able to get the grapheme cluster count of a string.

They shouldn’t, UTF-8 means the encoding, not all of Unicode. Also, I’m noticing a big cargo cult of “grapheme clusters” as the smallest unit of Unicode text when that’s very rarely what one wants, and supporting them adds a lot of cross-cutting concerns.

For example, what do you mean by “grapheme cluster”? The default extended boundaries? The Unicode annex states that implementations “can _and should_” tailor the defaults (emphasis theirs). How do we add tailorings? How do we test our tailorings are compatible with our word/sentence/line boundaries? Does the boundary API support random access, and if it does, can we limit the bounds to search for a safe start? And finally, which version of the Unicode property tables will your app support, considering they can carry breaking changes, and why should it depend on your version of OCaml/ICU/uucp (pick your poison)?

The purpose of the segmentation annex is providing _defaults_, meant to be tailored, to find _boundaries_ of sentences, words and grapheme clusters within a larger text for some given purpose; grapheme clusters here are not special over other kinds of boundaries and aren’t meant to redefine the smallest unit of Unicode strings.

---

_[View the full topic](https://discuss.ocaml.org/t/feedback-help-wanted-upcoming-ocaml-org-cookbook-feature/14127)._
