I have a few projects which are moving to Cats. It'd be nice if we could have a version of this that worked for Cats without slurping in Scalaz.
I can think of a couple options:
- Duplicate the project, swap out Scalaz for Cats.
- Write a
core with 0 dependencies (reimplementing the needed typeclasses), then provide contrib modules which brought in the needed scalaz or cats version.
- Use some crazy thing like @tpolecat's yax to
ifdef things.
Based on the commit history, I think 1 is probably the best option since the project seems to be changing relatively slowly. Would you agree? Do you have better ideas?
cc/ @bmjames
I have a few projects which are moving to Cats. It'd be nice if we could have a version of this that worked for Cats without slurping in Scalaz.
I can think of a couple options:
corewith 0 dependencies (reimplementing the needed typeclasses), then providecontribmodules which brought in the needed scalaz or cats version.ifdefthings.Based on the commit history, I think
1is probably the best option since the project seems to be changing relatively slowly. Would you agree? Do you have better ideas?cc/ @bmjames