scio icon indicating copy to clipboard operation
scio copied to clipboard

Decouple algebird ops from scio-core

Open regadas opened this issue 6 years ago • 3 comments

At some point i think it would be good to have a scio-algebird specific module. It might even ease up the migration for 2.13.

regadas avatar Aug 07 '19 17:08 regadas

So Algebird Semigroup & Monoid has implicit conversion from Cats equivalents, which means we can change sum/fold context bound to cats without breaking anything.

That leaves Aggregator, though. We can have our own shim with implicit conversion from Algebird, while marking the dependency as "provided". Would that work?

nevillelyh avatar May 13 '20 20:05 nevillelyh

So Algebird Semigroup & Monoid has implicit conversion from Cats equivalents, which means we can change sum/fold context bound to cats without breaking anything.

This will be a breaking change unfortunately, because algebird defines most of the instances in the implicit scope, meaning that they are available without extra import. Moving to something like this would actually imply extra import.

IMO, having an extra import is justifiable, if these ops lived in a different module with clear context ... kinda like scio-cats.

TBH, not sure if decoupling is relevant anymore, maybe if we decide to bring these modules together? otherwise I'll probably just close this for now.

regadas avatar May 19 '20 19:05 regadas