Jakub Kozłowski

Results 425 comments of Jakub Kozłowski

clearly lost interest in this, I'll close for now but anyone can feel free to take whatever they want from this :)

> What if the instance itself incurs allocations (`implicit def`), wouldn't we then allocate it twice? @joroKr21 we will do that regardless of whether the constraint is on the class...

> @kubukoz I mean that for each call we will allocate `Foldable` (if it's an `implicit def`) twice rather than once: > > ```scala > catsSyntaxFoldOps(foo)(foldable1).fold(foldable2, monoid) > ``` Oh,...

I'm 👍 for having that in EitherT, but the problem touches all types with polymorphic errors. If I'm not too mistaken, it should be possible to special-case Nothing and add...

I suppose we'd need to call all methods indeed (so it becomes impossible if any of a trait's methods have any parameters)... but it's quite useful for case classes parameterized...

I also have an OptionT instance now... ```scala implicit def optionTTraverseK[A]: TraverseK[OptionT[*[_], A]] = new TraverseK[OptionT[*[_], A]] { def traverseK[F[_], G[_]: Apply, H[_]](alg: OptionT[F, A])(fk: F ~> λ[a => G[H[a]]]):...

Hey @stephen-lazaro, do you think you'll have a chance to get back to this anytime soon? If not, I would like to take over, this looks really nice.

I would like to do `Order`, unless you think `PartialOrder` should come first :)

`Nothing` gets special treatment from the compiler, I'm not sure it could be called a bug (might actually be a feature, for all I know). We can use a workaround...

I remember @smarter explained how that part of type inference works in Scala 2 and how it changes in Scala 3 in this talk: https://www.youtube.com/watch?v=lMvOykNQ4zs