cats-effect icon indicating copy to clipboard operation
cats-effect copied to clipboard

The pure asynchronous runtime for Scala

Results 321 cats-effect issues
Sort by recently updated
recently updated
newest added

In https://github.com/typelevel/cats-effect/discussions/3873#discussioncomment-8356851 we decided that we will support stealing for load-balancing. Thus, we should add an API to the polling system that allows completed I/O to be stolen. Not all...

:mushroom: enhancement

An important feature of the polling system is the ability to interrupt a poller while it is polling. This is necessary to wake up a worker thread e.g. when there...

Explicitly `cede`-ing between expensive compute-bound operations is one of the strategies for addressing CPU-starvation and is suggested in the warning. https://github.com/typelevel/cats-effect/blob/832079aecbbf956fb18f11392cfeec6cdaa52915/core/shared/src/main/scala/cats/effect/CpuStarvationCheck.scala#L43-L44 How to do this is described in the scaladocs...

:mushroom: enhancement

Currently the Cats Effect memory model is implicitly defined via implementation details and the Java Memory Model (JMM). In some cases this works okay but in other cases this means...

discussion

It's very good that CONTRIBUTING.md and RELEASING.md exist. However, I have some ideas for little improvements. I'm happy to do this, but I need some answers: - It is very...

:books: docs

The handling of some uncaught fatal errors can be customized by overriding `cats.effect.IOApp.reportFailure`. However, such customization is currently not possible in many cases (all usages of `java.lang.Throwable.printStackTrace()`, for example [here](https://github.com/typelevel/cats-effect/pull/3008))....

Starting point for an unsafe queue API as part of **std**. Opening WIP PR to start the discussion. For background… @armanbilge and I have been discussing this at length for...

:mushroom: enhancement

This test fails: ```scala "foobar" in real { IO(new AtomicInteger).flatMap { ctr => val test = IO.deferred[Unit].flatMap { latch => val t = latch.complete(()).uncancelable *> IO.async_[Unit] { cb => ctr.getAndIncrement()...

:books: docs

@bpholt recently brought up the issue of providing an MTL `Local` instance for `IOLocal` in https://github.com/armanbilge/oxidized/issues/9#issuecomment-1405824000. That repo exists because Cats MTL can't provide it (since it creates a dep...

discussion