Closed FrankRaiser closed 8 years ago
I'm happy to merge this after some comments. It could be useful in cases the macros could not easily cover (traits, non-case-classes).
style note: inconsistent spacing with :
. Prefer (a: A): B
style to (a : A) : B
@non what do you think about @sp
on these methods? I think we don't need it and it will cause us some jar bloat. These methods don't really make sense on primitives.
Yes, I agree. These generic type parameters should not be specialized.
@non and you prefer fromAll even in the lexicographic ordering?
I'm not sure. Mostly I wanted a name to relate it to from
but to make it clear it uses several functions.
@non I like the from
part, it is just that the all
part does not sound lexicographic to me. fromLazily
?
Sure, fromLazily
seems good to me.
@FrankRaiser I think we got consensus on fromLazily
for the Order case, if you think that sounds okay too.
Sounds fine with me. I'm a bit short on time now, but should get an updated PR ready this weekend.
Cool. Thanks for the help!
Looks good to me. If we can make this merge cleanly, I'll click the shiny green button.
@FrankRaiser will you be able to get a clean merge here? It would be great to merge any binary incompatible change as soon as possible (this would be one).
@non about my previous comment: maybe these constructor functions should go into a package like std? They are not changing the shape of the traits, but I think (could be wrong) that they will change the binary (adding methods to traits causes issues, maybe not to objects).
we moved Eq
Order
etc.. to cats-kernel in typelevel/cats.
Thanks, this looks good!
@johnynek would you prefer to let this PR sit awhile and while we look into a macro solution? Or should we merge this and then replace it with a macro?