Cosmo

Results 5 comments of Cosmo

It is more useful than you think: Monoids and all algebraic constructs inherited from it (lattices, bands, groups, ...) are derivable with pair of functions `(A => B, B =>...

The generated functions should still respect the invariant composition law required by the invariant functor: ``` def invariantComposition[A, B, C](fa: F[A], f1: A => B, f2: B => A, g1:...

This is the class called Hoist in scalaz (but with Monad requirement on F). There is also Cohoist with ~the same signature (but asking for Comonad in F). I think...

There is also the cats-tagless direction of higher-kind traits. Both up their kindness towards different shapes. In comparison, along with their semigroupal class (cats-tagless FunctorK versus functork candidate named Hoist):...

In my experience, the cats-tagless encoding have proved more useful because the Hoist functor has to be constrained in the M[_] parameter to be truly useful. And in this encoding...