-
Notifications
You must be signed in to change notification settings - Fork 8
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
Introduce BiDf protocol #109
base: main
Are you sure you want to change the base?
Conversation
At the moment |
There seems to be some overlap with #83 ... |
This introduces a new protocol, `BiDf`, which captures the common pattern of a request `Df` channel paired with a `Df` for returning corresponding responses.
This is a useful operation for servicing requests from a number of sources with a single sink.
We're trying to be sensible about which protocols we add to this package, so now I also added |
Co-authored-by: Peter Lebbing <[email protected]>
-- - There must not be a combinational path from the request channel to the | ||
-- response channel. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Am I reading correctly that this disallows stateless circuits such as:
idBiDf :: Circuit (BiDf dom a a) ()
idBiDf = Circuit go
where
go ((fwd, bwd), _) = ((bwd, fwd), ())
If so, why would that not be allowed?
This introduces a new protocol,
BiDf
, which captures the common pattern of a requestDf
channel paired with aDf
for returning corresponding responses.