cats icon indicating copy to clipboard operation
cats copied to clipboard

Lightweight, modular, and extensible library for functional programming.

Results 195 cats issues
Sort by recently updated
recently updated
newest added

The current implementation of `partitionEither` requires `Foldable` and `Alternative` (`Applicative` + `MonoidK`). These requirements mean that, for example, `SortedMap[K, *]` can't be partitioned! This is surprising, since there's a trivial...

Cats Effect has an unfortunate problem with `Parallel` in that it defines a more primitive typeclass, `Spawn`, from which `Parallel` can be derived. The most intuitive user experience is that...

[`cats-time`](https://github.com/typelevel/cats-time) is a microlibrary that implements instances of kernel typeclasses, such as `Show`, `Ord`, `Eq`, or `Hash`, for the classes of the `java.time` package. This package was introduced in version...

This ties into #1935, but also #2400 and #1932. I think we could do a lot better with the `Alternative` hierarchy and the `Decidable` PR shows, it might need some...

As a continuation of #1713 and #1492. I am working on a PR ```scala /** * This is an endofunctor in the category of endofunctors in `Skal`. * * `Skal`...

in progress

in `FlatMap`, you'll find the following implementation for various functions: ```scala @typeclass trait FlatMap[F[_]] extends Apply[F] { ... override def ap[A, B](ff: F[A => B])(fa: F[A]): F[B] = flatMap(ff)(f =>...

Doctests are a great way to provide compilable and testable example code for scaladoc. We should cover as many methods with doctests as possible. [Here is an example of PR...

help wanted
documentation
good first issue

Some new abstractions that provide useful and principled variations on a theme: - Slides: https://github.com/cohomolo-gy/Hulk-Smash/blob/master/Smash.pdf - Arithmetic derivation: https://github.com/emilypi/smash/tree/master/smash-core/README.md Happy to help explain and guide the implementation of these (including...

https://www.staff.ncl.ac.uk/andrey.mokhov/selective-functors.pdf ```scala trait Selective[F[_]] { def applicative: Applicative[F] // we could also extend, but that may create ambiguities // the law here is if you give `F[Right[B]` we never evaluate...

It looks like there's no scaladoc for the various Tuple\*SemigroupalOps classes - e.g. on https://typelevel.github.io/cats/api/cats/syntax/package$$apply$.html there is a link to `ApplyOps` documentation but not to `Tuple2SemigroupalOps`. And searching for `mapN`...