Jean-Baptiste G.

Results 119 comments of Jean-Baptiste G.

@TomasMikula I used `lazyMap` in `Functor` mostly to trigger the tests. Eventually I was thinking of a `Lazy` tag to kick-in lazy implementation of type classes.

:+1: for LGPLv3

> My guess in that it is the same for the contributions from @jbgi, is that right? yes!

I think it should work without problems. But however I'd suggest a small variation: ```scala package scalaz sealed trait EqClass[T] { def equals(t1: T, t2: T): Boolean } trait EqAnyRef[T

> Since we'd want it to be a sealed trait, things such as Ord need to self-type on EqClass rather than extend, is that OK? We guess we could use...

But we can always implement `LeftReducer` / `RightReducer` / `Reducer` as soon as we have the semigroup + unit. Do we want to only provide `LeftReducer` for linked list types?...

maybe we could have `FastLeftReducer`/`FastRightReducer` extends `Reducer` and `FastReducer` extends both `FastLeftReducer`/`FastRightReducer`?

Or maybe simply a `Slow` tag and implicit conversions from LeftReducer/RightReducer to a tagged Reducer. Wdyt?

Not sure the distinction matter: if a method need a Reducer constraint, (as opposed to just LeftReducer or RightReducer) it means that if one of cons/snoc is slow, overall execution...

Just to be sure we are talking about the same thing, I was thinking of ```scala implicit def slowReducer[C, M](implicit lr: LeftReducer[C, M]) : Reducer[C, M @@ Slow] ``` The...