-
Notifications
You must be signed in to change notification settings - Fork 380
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
[ base ] Add non-blocking and timeout variants for channelGet #3435
base: main
Are you sure you want to change the base?
Conversation
…g with return values of blodwen-channel-get-non-blocking.
… acquired, or the box is empty.
…ng of channelGetNonBlocking.
…ntheses around let*.
…ty box in blodwen-channel-get-non-blocking.
…ed channelGetWithTimeout function.
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.
I'm not really a member of this project, so I can't approve it, but I'll at least provide some initial feedback.
Hopefully this will get some other folks to chime in.
Thank you for taking your time to look this over and provide feedback. |
I'm pretty satisfied with the general shape of this now. I will yield the conversation to more seasoned Idris devs. |
If I understand correctly, you introduced the generic object to/from Scheme conversion because, essentially you need to return a
Both approaches share the advantage, that they don't couple the two functions directly to the Chez runtime and other backends can implement them by providing implementations for the 2 (or 4) Furthermore, it should be possible to implement |
Thank you for your feedback! I will work on implementing alternative 1. Ah I see, I'll work on re-working |
Description
This PR adds a two new functions in
System.Concurrency
,channelGetNonBlocking
andchannelGetWithTimeout
(only for thechez
backend).Credit to @emdash and @cypheon for review and feedback.
This PR closes #3424.
Should this change go in the CHANGELOG?
implementation, I have updated
CHANGELOG_NEXT.md
(and potentially alsoCONTRIBUTORS.md
).