diff --git a/README.md b/README.md index 3255b4d..898d882 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,9 @@ Please note that this library is still considered experimental. The aim is to ga ## License This project is licensed under the ISC license, the same as the original Eio project. + +## Acknowledgements + +We're very thankful to: +- The `Eio` developers for their work on the [Eio](https://github.com/ocaml-multicore/eio) project and for the documentation they published on the rationale for the design of the `Eio.Resource` module, which was the foundation of the Provider project. +- The [diataxis](https://diataxis.fr/) approach to technical documentation, which we use as inspiration to structure our doc. diff --git a/doc/docs/design/README.md b/doc/docs/design/README.md index db14365..e78cb25 100644 --- a/doc/docs/design/README.md +++ b/doc/docs/design/README.md @@ -4,8 +4,6 @@ Provider is an OCaml library for creating Traits and Interfaces to build upon so In essence, it provides a way to handle dynamic dispatch, where the target of a function call is not known until runtime. This is particularly useful in situations where there are many ways to provide a certain functionality, and the choice of provider is determined by the user at runtime. -The Provider library started as an experimental project that extracted a pattern featured in the [Eio](https://github.com/ocaml-multicore/eio) project. The goal was to make this pattern reusable in other projects. - ## Rationale The rationale for this design is detailed in the [Eio documentation](https://github.com/ocaml-multicore/eio/blob/main/doc/rationale.md#dynamic-dispatch). @@ -16,4 +14,6 @@ At its core, a Provider is just a pair consisting of an internal state and a vir ## Motivation -This project was initiated as building block for the parametrization of the [Vcs](https://mbarbin.github.io/vcs/) project. Our use of the Provider based parametric library in Vcs serves as a practical, real-world case study of this pattern. +The Provider library started as an experimental project that extracted a pattern featured in the [Eio](https://github.com/ocaml-multicore/eio) project. The goal was to make this pattern reusable in other projects. + +We then went on to use Provider as building block for the parametrization of the [Vcs](https://mbarbin.github.io/vcs/) project.