These are chat archives for typelevel/cats

25th
Dec 2017
Loránd Szakács
@lorandszakacs
Dec 25 2017 07:26
do we get a nice present today (depending on time-zones)? :D
Rich
@Richtype
Dec 25 2017 11:50
Looking at bifunctor there doesn't seem to be a fold function:
fold[C](fA: A => C, fB: B => C): C
Fabio Labella
@SystemFw
Dec 25 2017 12:05
I don't think Bifunctor implies something like that fold, in general
it's the case for e.g. Either
but think of Tuple2 as a counterexample
@Richtype
that kind of fold (church encoding, cata) it's specific to each datatype "shape"
and to abstract over that, one needs to go in the direction of recursion schemes or generic programming
Rich
@Richtype
Dec 25 2017 12:24
I guess that makes sense folds can't be generalised.
Itamar Ravid
@iravid
Dec 25 2017 12:53
@LukaJCB can we add parProductN in a binary compatible way at this point?
Luka Jacobowitz
@LukaJCB
Dec 25 2017 12:54
Like an (fa, fb, fc).parTupled?
Itamar Ravid
@iravid
Dec 25 2017 12:55
I hope I didn't miss that method ;)
Luka Jacobowitz
@LukaJCB
Dec 25 2017 12:55
No it doesn't exist yet :smile:
Itamar Ravid
@iravid
Dec 25 2017 12:55
Yeah, exactly that
I was digging through Boilerplate.scala and figured you already know the answer
Luka Jacobowitz
@LukaJCB
Dec 25 2017 12:56
It's probably not binary compatible :/ but I can't say for sure
I'm really not good at knowing these things in advance :smile:
Itamar Ravid
@iravid
Dec 25 2017 12:56
Ok :-) Will dig around some more
Adelbert Chang
@adelbertc
Dec 25 2017 21:07
.parBoiled