package provider
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Dynamic Dispatch with Traits
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      provider-0.0.11.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=80e346ccde7dbf39796c3140f914641713c445ccae0183ac2948e3feb18099f3
    
    
  sha512=6e7ab4734add6543498cc7d4364a4c257c63dfd4c809e798857eec7b151778c4c307901571fb1bc05f2493af3c024efbfada21e98bc9b8d758e6d9a4b613f34f
    
    
  doc/CHANGES.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 explanationsection 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.ImplementationasProvider.Implementationto expose the concepts in a more flat way.
- Reduce providerpackage dependencies - reduce frombasetosexplib0.
Fixed
- Make sure to select the right most implementation in case of overrides, as per specification.
Removed
- Removed Trait.Uid.Comparable.Sas this requiresBase. Make it compatible withComparable.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 ppxlibto0.33- activate unused items warnings.
- Upgrade ocamlto5.2.
- Upgrade duneto3.16.
- Upgrade eioto1.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 eioto0.15.
- Run ppx_js_styleas a linter & make it adevdependency.
- Upgrade GitHub workflows actions/checkoutto 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.implementswhich 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.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page