merijn / broadcast-chan Goto Github PK
View Code? Open in Web Editor NEWClosable, fair, single-wakeup channel type that avoids 0 reader space leaks.
Closable, fair, single-wakeup channel type that avoids 0 reader space leaks.
I have broadcaast-chan installed, but yet it's not "sending" it
Setup: Encountered missing dependencies:
broadcast-chan >=0.2.0.2
I see back on March 6th the upper bound of base was bumped.
On hackage it's still saying it requires base <4.14, though - so I can't build it on GHC 8.10
Could we get a new release published to hackage?
For my use case, it would be quite useful if the broadcast channel would always retain the most recent value that was written to it (even in the case where there are 0 readers).
I realize that it may not make sense to implement this in this library, but I thought I might mention it just in case it does.
e.g. ['BroadcastChan' 'In':]:
gets rendered as BroadcastChan Direction:
Source:
Rendered:
I'm planning to use this library but want to be really sure of what it's doing and its intended purpose. Would it be possible to explain at a conceptual level how the code is working and how it fixes the problem with using dupChan
for creating broadcast channels? (especially for the case where we may have zero readers). What's the kind of overhead/performance-hit that one can expect from using broadcast-chan
?
Is there any technical reason why the readBChan
and writeBChan
functions from the BroadcastChan.Throw
module are in IO
and not some MonadIO m => m
? Since the equivalent functions from the BroadcastChan
module are in MonadIO m => m
.
I need to get broadcast-chan into stackage because it is a dependency of taffybar. Would you like to put it under your name or mine.
There is a breaking change in resourcet-1.3 related to Data.Acquire.ReleaseType
where ReleaseException
is replaced by ReleaseExceptionWith
.
This affects BroadcastChan.Conduit.Internal
, which uses ReleaseException
, including for constructing a BroadcastChan.Extra.ThreadBracket
wherein cleanupForkError
does not get the exception to use for ReleaseExceptionWith
value construction. Thus, the changes necessary for using resourcet-1.3 are non-trivial and require code changes and not just .cabal changes, and perhaps even BroadcastChan.Extra.ThreadBracket
needs to change.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.