# \#package-design

**URL:** https://discuss.ocaml.org/tag/package-design/49.md

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

---

## [How can you "un-functorize" an API to make it polymorphic while retaining type safety and efficiency?](https://discuss.ocaml.org/t/how-can-you-un-functorize-an-api-to-make-it-polymorphic-while-retaining-type-safety-and-efficiency/16005)

<div class="topic-metadata">

**Author:** [@bsidhom](https://discuss.ocaml.org/u/bsidhom)\
**Replies:** 10\
**Last updated:** [January 23, 2025, 4:31pm UTC](https://discuss.ocaml.org/t/how-can-you-un-functorize-an-api-to-make-it-polymorphic-while-retaining-type-safety-and-efficiency/16005 "2025-01-23T16:31:43Z")

</div>

As a learning exercise while studying 2-3 finger trees, I’ve implemented the data structure in a handful of different languages. It turns out that the OCaml version is (thus far) the most readable while still retaining a…

---

## [Modules that extend modules from third-party packages](https://discuss.ocaml.org/t/modules-that-extend-modules-from-third-party-packages/3777)

<div class="topic-metadata">

**Author:** [@MattWindsor91](https://discuss.ocaml.org/u/MattWindsor91)\
**Replies:** 2\
**Last updated:** [May 9, 2019, 2:43pm UTC](https://discuss.ocaml.org/t/modules-that-extend-modules-from-third-party-packages/3777 "2019-05-09T14:43:05Z")

</div>

What is the recommended way to structure modules that add extensions onto other modules that come from external packages (over which you have no control)? How do you then structure those modules so that they can themsel…

---

## [Dune/OPAM package layout with 'extension' sub-libraries?](https://discuss.ocaml.org/t/dune-opam-package-layout-with-extension-sub-libraries/3737)

<div class="topic-metadata">

**Author:** [@MattWindsor91](https://discuss.ocaml.org/u/MattWindsor91)\
**Replies:** 2\
**Last updated:** [May 9, 2019, 2:16pm UTC](https://discuss.ocaml.org/t/dune-opam-package-layout-with-extension-sub-libraries/3737 "2019-05-09T14:16:55Z")

</div>

Hi all, Suppose I’m making a package that has one main library L, consisting of several different modules L.Foo, L.Bar, L.Baz, etc and with a certain set of dependencies; I then have a few smaller extension libraries A,…

---

## [Packaging: Opam-depext for CentOS](https://discuss.ocaml.org/t/packaging-opam-depext-for-centos/769)

<div class="topic-metadata">

**Author:** [@smondet](https://discuss.ocaml.org/u/smondet)\
**Replies:** 3\
**Last updated:** [August 29, 2017, 12:10pm UTC](https://discuss.ocaml.org/t/packaging-opam-depext-for-centos/769 "2017-08-29T12:10:57Z")

</div>

I found a CentOS package for a lib with C bindings I’m going to release, but it is not is the default repository, it’s in the “EPEL” one. So if I do $ docker run -it ocaml/opam:centos-7\_ocaml-4.03.0 bash $ sudo yum …

---

## [New category idea: Proposals](https://discuss.ocaml.org/t/new-category-idea-proposals/522)

<div class="topic-metadata">

**Author:** [@bluddy](https://discuss.ocaml.org/u/bluddy)\
**Replies:** 14\
**Last updated:** [August 16, 2017, 6:55pm UTC](https://discuss.ocaml.org/t/new-category-idea-proposals/522 "2017-08-16T18:55:03Z")

</div>

I'd like to see if we can fill a need that I feel is currently missing in the community. In general, OCaml advances in spurts that come out of the productivity of very few individuals. This isn't a bad thing per se, bu…
