package provider

  1. Overview
  2. Docs
Dynamic Dispatch with Traits

Install

Dune Dependency

Authors

Maintainers

Sources

provider-0.0.11.tbz
sha256=80e346ccde7dbf39796c3140f914641713c445ccae0183ac2948e3feb18099f3
sha512=6e7ab4734add6543498cc7d4364a4c257c63dfd4c809e798857eec7b151778c4c307901571fb1bc05f2493af3c024efbfada21e98bc9b8d758e6d9a4b613f34f

CHANGES.md.html

0.0.11 (2024-11-05)

Changed

  • Simplify the API and remove the term 'handler' from the project (breaking change) (#35, @mbarbin).

  • Change the API to make the library Type-Safe (breaking change) (#34, @mbarbin, @v-gb).

  • Register custom trait names instead of extensible variant names (#31, @mbarbin).

0.0.10 (2024-10-27)

Added

  • Added Trait.Uid.seeded_hash (#24, @mbarbin).

  • Make the library build with ocaml.4.14 (#22, @jonahbeckford, @mbarbin).

  • Added new checks in CI (build checks on windows and macos) (#21, @mbarbin).

  • Added a tutorial with new examples of handler-based polymorphism (#13, @mbarbin).

Changed

  • Split the tests and enable most tests in the CI, including ocaml.4.14 (#25, @mbarbin).

  • Make the library detect invalid Traits earlier (during handler creation) (#20, @mbarbin).

  • Rename explanation section of documentation per diataxis (#11, @mbarbin).

Fixed

  • Made the lib raise an exception instead of a segfault under some invalid usage (#18, @mbarbin).

0.0.9 (2024-08-26)

Changed

  • Split test package.

  • Use expect_test_helpers_core.expect_test_helpers_base.

Fixed

  • Attach doc test package so it is not built when running the CI for the main package.

0.0.8 (2024-08-19)

Fixed

  • Follow-up fixes to binding renaming.

0.0.7 (2024-08-05)

Added

  • Added dedicated tests for internal functions.

Changed

  • More renamings. Implementation => Binding, Interface => Handler. This brings the lib closer to the original namings from Eio.

0.0.6 (2024-08-02)

Changed

  • Rename Provider.Trait.Implementation as Provider.Implementation to expose the concepts in a more flat way.

  • Reduce provider package dependencies - reduce from base to sexplib0.

Fixed

  • Make sure to select the right most implementation in case of overrides, as per specification.

Removed

  • Removed Trait.Uid.Comparable.S as this requires Base. Make it compatible with Comparable.Make (Trait.Uid) and add tests for this use case.

0.0.5 (2024-07-26)

Added

  • Added dependabot config for automatically upgrading action files.

Changed

  • Upgrade ppxlib to 0.33 - activate unused items warnings.

  • Upgrade ocaml to 5.2.

  • Upgrade dune to 3.16.

  • Upgrade eio to 1.0 (no change required).

  • Upgrade base & co to 0.17.

0.0.4 (2024-03-05)

Changed

  • Uses expect-test-helpers (reduce core dependencies)

  • Upgrade eio to 0.15.

  • Run ppx_js_style as a linter & make it a dev dependency.

  • Upgrade GitHub workflows actions/checkout to v4.

  • In CI, specify build target @all, and add @lint.

  • List ppxs instead of ppx_jane.

0.0.3 (2024-02-21)

Added

  • Add new tests, improve test coverage.

Changed

  • Improve organization of test files.

  • Rename Class => Trait (breaking change).

Fixed

  • Fix Interface.implements which shouldn't raise on empty interface (#3, @mbarbin).

0.0.2 (2024-02-18)

Changed

  • Improve tests and documentation.

0.0.1 (2024-02-18)

  • Initial release.

OCaml

Innovation. Community. Security.