non / cats-check

Cats instances for ScalaCheck data types
MIT License
19 stars 2 forks source link

Release cats-check? #1

Open mdedetrich opened 6 years ago

mdedetrich commented 6 years ago

It seems that cats-check hasn't actually be released? Also it might be better to change .settings(name := "catsCheck") to .settings(name := "cats-check").

prurph commented 6 years ago

Bump! I'd love to try this as well.

mdedetrich commented 6 years ago

@prurph You can check out https://github.com/mdedetrich/cats-check

ghost commented 6 years ago

Hi @non , @mdedetrich ,

There was a casual comment made on gitter that perhaps this library should be moved (somewhere) into cats. Would this make sense to you guys? It‘s not my project to give away, nor is cats mine to accept it, and I‘ve not looked at what extra may be needed, etc.... I‘m just getting the ball rolling,

kailuowang commented 6 years ago

Personally, it sounds more a module in ScalaCheck than in cats. I am curious how @rickynils sees this.

ghost commented 6 years ago

But there is the the cats dependency, so that would be circular. If I understand it correctly, the scalacheck namespace is only because of the private namespace.

kailuowang commented 6 years ago

Ah.. I thought it might be okay since it's only circular at project level but not at the module (jar) level. Will it be still problematic even if cats does not depend on this module?

ghost commented 6 years ago

https://github.com/non/cats-check/blob/master/src/main/scala/catscheck/instances/cogen.scala#L50 Is the problem, for example. The Eq methods could go to scalacheck, then we just have the few extra methods in cats

ghost commented 6 years ago

in https://github.com/rickynils/scalacheck/issues/351#issuecomment-322763942, @rickynils mentions keeping „core“ small, but one could easily argue that the two Eq methods are generic.

mdedetrich commented 6 years ago

I am happy to move this into cats, one less thing for me to maintain ;)

And yes there is a bit of a circular dependency because of needing the private namespace.