cats
cats copied to clipboard
Lightweight, modular, and extensible library for functional programming.
Thank you for contributing to Cats! This is a kind reminder to run `sbt +prePR` and commit the changed files, if any, before submitting.
Definitions are shorter and don't generate anonymous classes in some cases. Instances: - [x] `Show` - [x] `Eq` - [x] `PartialOrder` - [x] `Order` - [x] `Semigroup`, `CommutativeSemigroup` - [x]...
I find this method extremely helpful in my day job. And since there is `List` syntax, it seems natural for me to have this method added.
My lib [thomas](https://github.com/iheartradio/thomas) sees a compilation failure with a scalac exception ``` scala.reflect.internal.Types$NoCommonType: lub/glb of incompatible types: [_] and
It's mentioned in the [NonEmptyChain](https://typelevel.org/cats/datatypes/chain.html#nonemptychain) docs, but not other mention of it is made in the docs.
Analogous to the `collect` method on `FunctorFilter` we can define a `traverseCollect` method derived from `traverseFilter` using a `PartialFunction` like this: ```scala def traverseCollect[F[_]: TraverseFilter, G[_]: Applicative, A, B](fa: F[A],...
`NonEmptyList` was missing a `prependAll`/`++:`. This adds the method and the alias and tests. The implementation may not be most efficient. I also added an override for `concat` to append...
Resolves https://github.com/typelevel/cats/issues/1935 and https://github.com/typelevel/cats/issues/2604. Seeing an issue with binary compatibility I'm not sure how to resolve correctly. Maybe someone can help me out? I'm probably misunderstanding the intended function of...
This is an ongoing effort for suppressing compiler warnings that keep plaguing the project. Suppresses the warnings in kernel\* modules for all Scala versions.
This commit adds the following type classes. * Order2 * Order1 * PartialOrder2 * PartialOrder1 * Hash2 * Hash1 * Eq2 * Eq1 These typeclasses lift their base classes through...