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
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:
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