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

…but only since you can observe the `MathContext` it carries along with it: ```scala scala> import cats.implicits._, java.math.MathContext import cats.implicits._ import java.math.MathContext scala> val zero = BigDecimal("0") zero: scala.math.BigDecimal =...

I think the cats documentation is a bit hard to reach from the README, this is the expected path to [`SemigroupK`](https://github.com/typelevel/cats/blob/master/docs/src/main/tut/semigroupk.md): - Land on https://github.com/typelevel/cats - → click Documentation#website link...

The test code: ```scala val f1: Endo[Int] = i => i / 4 val f2: Endo[Int] = i => i * 2 val f3: Endo[Int] = i => i +...

It seems like it should be possible for `reduceLeftM` to short-circuit, since e.g. `foldLeftM` does: ```scala scala> import cats.data.NonEmptyStream, cats.implicits._ import cats.data.NonEmptyStream import cats.implicits._ scala> def f(i: Int): Either[Int, Int]...

`NonEmptyMap` is a bit annoying to use due to some inconsistencies: - Although it has a `.keys` method like `Map` does, it doesn't have a corresponding `.values` method. There's something...

We currently have `foldMapA` and `foldMapM` methods with identical semantics (apart from the constraint), because the monadic implementation using `tailRecM` [can be much faster](https://github.com/typelevel/cats/pull/3130#issuecomment-551531519) than the implementation that can only...

Several types in cats such as `NonEmptyChain` are defined using the newts / newtypes approach: the advantage of this is that there is zero (runtime) overhead to using these types...

- The `*` syntax for partially applied types is introduced [here](https://typelevel.org/cats/typeclasses/applicative.html) without referring to the [kind-projector plugin](https://github.com/typelevel/kind-projector#inline-syntax). It would be useful to add an explanatory comment in the code or...

The implicits `catsKernelStdPartialOrderForVector` and `catsKernelStdHashForVector` ([here](https://github.com/typelevel/cats/blob/master/kernel/src/main/scala/cats/kernel/instances/VectorInstances.scala#L11)) are ambiguous if `A` has both `PartialOrder` and `Hash` instances, and we're looking for an `Eq[Vector[A]]`. (`List` seems to have the same problem.)

bug

I think that the situations in which this arises are somewhat uncommon, but I don't know of any good way to work around it when it does happen. For example...

bug