cats-effect
cats-effect copied to clipboard
The pure asynchronous runtime for Scala
Most practical use-cases of `Queue` are multi-producer, single-consumer (mpsc), but since the API doesn't *guarantee* this, we have to pessimistically allow for multi-producer, multi-consumer (mpmc) cases. Mpmc queues are very...
(This issue is not directly about Cats Effect, but highly relevant to it.) The lack of benchmarks for JS came up again recently wrt https://github.com/typelevel/cats-effect/pull/2673. Daniel and I had a...
Running the tracing example from the docs on Node.js with the exact same tracing parameters. https://typelevel.org/cats-effect/docs/tracing#complete-code ```bash CATS_EFFECT_TRACING_BUFFER_SIZE=64 CATS_EFFECT_TRACING_MODE=FULL node --enable-source-maps example/js/target/scala-2.13/cats-effect-example-fastopt/main.js ``` With sourcemaps: ``` real 0m4.981s user 0m4.218s...
…once we upgrade to a Scala 3 version which includes lampepfl/dotty#14686
The original `fs2.Queue` had a `peek` method on its interface. The `Queue` in Cats Effect doesn't have this. It would be good to add it, as it makes the migration...
There's two forms this could take. First, when a fiber is `WAITING`, it would be really helpful to know if it's masked. Second, we could get really wild and capture...
Given the following code, I get a `TimeoutException` for 15000 millis that is right BUT the stack trace take me to the line of `t2` instead of `t3` I was...
I've been recently playing around with migration to CE3. Some of my libraries provide algebras that are law tested. Some of them are meant to be used against `IO`, thus...
https://github.com/typelevel/cats-effect/pull/2743 was an ugly workaround for https://github.com/lampepfl/dotty/issues/14240 which is getting an upstream fix in https://github.com/lampepfl/dotty/pull/14318. So when we finally update to Scala 3.?.? we should be able to revert it....
Idea shamelessly stolen from Akka. Starting a background fiber in `IOApp` which does something like this would be an interesting thing to explore: ```scala val checkInterval = 1.second val initialDelay...