Jean-Baptiste G.
Jean-Baptiste G.
I would say that using newtype is a better solution to avoid mixing parameters, but it is true that we won't have cheap newtype until jdk10... on the other hand...
For now [zerobuilder](/h908714124/zerobuilder) is solution. But ideally, zerobuilder could also work as a derive4J extension, so that the builder factories are generated in the same file as the one produced...
@h908714124 yeah that would be great! Something like `MethodElement => Either` would be perfect.
> but I wouldn't make the implied Reducer implicit: it might cause conflicts. It would be exposed under a tag (`ApSum`) so I don't think it would cause problems.
I see. What about this version: ```scala def foldRightET[A, B](fa: F[A], z: B)(f: (A, B) => B, et: A => Boolean): B ``` and we use `z` to terminate early...
Yeah, I realized that just after posting.
I worked on a similar `Thunkable` type class last year but did not have time to submit a PR. This where I left off: https://github.com/jbgi/scalaz/commit/7c116ec6468aadcbc33d06b915215f464406278b The idea was, whenever possible,...
@emilypi The ones that triggered this issue are the locally defined `Monoid` and `Reducer` at https://github.com/scalaz/scalaz/blob/d3a340bbec072b11840eb60138d7ac37638df9d7/concurrent/src/main/scala/scalaz/concurrent/Task.scala#L251-L252
@TomasMikula it is still a List, with same or better performance characteristics. From what I understand StreamT[Id] is more like CorecursiveList. (?)
That's true. The main difference is that IList will memoize the whole sequence.