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