Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Encoder/Decoder traits #29

Open
danieleades opened this issue Mar 24, 2022 · 0 comments
Open

Make Encoder/Decoder traits #29

danieleades opened this issue Mar 24, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@danieleades
Copy link
Owner

The Model trait is already a pretty foundational abstraction, but the Encoder and Decoder are concrete implementations.

Making these into traits would be easy enough to do, if it was useful. The traits would be in arithmetic-coding-core and would allow consumers to integrate third-party algorithms with existing infrastructure that made use of the Model trait.

necessary conditions to bother doing this:

  • "sufficient" use of this library in the wild that third-party integration is a useful goal. (ie someone asks me to, and can at least sort of justify it)
  • the existence of significantly faster/better third-party encoders/decoders, that can't or won't be upstreamed into this crate
    • this also assumes that the Model trait is at least roughly appropriate for these algorithms to consume

If the above conditions are met, then making the encoder/decoder into traits starts to make sense.

@danieleades danieleades added the enhancement New feature or request label Mar 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant