# Improving interoperability between ocaml, ocamlfind and dune

**URL:** <https://discuss.ocaml.org/t/improving-interoperability-between-ocaml-ocamlfind-and-dune/4479>\
**Category:** Ecosystem\
**Tags:** ocamlfind, dune\
**Created:** [October 2, 2019, 1:17pm UTC](https://discuss.ocaml.org/t/improving-interoperability-between-ocaml-ocamlfind-and-dune/4479 "2019-10-02T13:17:12Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![dbuenzli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/dbuenzli/32/18_2.png) [@dbuenzli](https://discuss.ocaml.org/u/dbuenzli)\
**Post date:** [October 8, 2019, 9:35am UTC](https://discuss.ocaml.org/t/improving-interoperability-between-ocaml-ocamlfind-and-dune/4479/16 "2019-10-08T09:35:01Z")

</div>

What `dune` calls [virtual libraries](https://dune.readthedocs.io/en/stable/variants.html#virtual-library) and [implementations](https://dune.readthedocs.io/en/stable/variants.html#implementation) is nothing new. They have existed in the eco-system for almost as long as `ocaml` has (e.g. the `threads` and (now gone) `vmthreads` libraries).

What is new is the ability to automatically select implementations via a [variant](https://dune.readthedocs.io/en/stable/variants.html#variants) tag which you can see as icing on the cake. This is not supported by `ocamlfind` nor by my proposal (I don’t think it would be hard with more metadata, but I also think it might be a bit premature).

---

_[View the full topic](https://discuss.ocaml.org/t/improving-interoperability-between-ocaml-ocamlfind-and-dune/4479)._
