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

Add an "implementers guide" for developing backends #3026

Open
freakboy3742 opened this issue Dec 8, 2024 · 0 comments
Open

Add an "implementers guide" for developing backends #3026

freakboy3742 opened this issue Dec 8, 2024 · 0 comments
Labels
documentation An improvement required in the project's documentation. enhancement New features, or improvements to existing features.

Comments

@freakboy3742
Copy link
Member

What is the problem or limitation you are having?

As noted in #3022, there is very little documentation or formal interface for someone seeking to implement a new backend, or implement a missing piece of an existing backend.

Describe the solution you'd like

Add an implementation guide to the docs. This could cover details such as:

  • An overview of the overall structure
  • A guide to "first light" for a new backend (what to implement, etc)
  • A list of the pieces that need to be implemented (what is required, what is optional but recommended, what is fully optional)
  • The formal interface for each piece of the code that needs to be implemented
  • Any known quirks, or behavioural edge cases that implementers should look out for

Describe alternatives you've considered

A formal ABC or Protocol specification. This was the original form proposed in #3022. The downside is that introducing this as formal code has a non-zero impact on runtime, won't capture all the underlying details (such as behavioural and semantic details), and is only of interest to a relatively small audience.

Additional context

No response

@freakboy3742 freakboy3742 added enhancement New features, or improvements to existing features. documentation An improvement required in the project's documentation. labels Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation An improvement required in the project's documentation. enhancement New features, or improvements to existing features.
Projects
None yet
Development

No branches or pull requests

1 participant