This PR implements the proposal in #160. It changes the module structure without changing any of the core type classes (although it does remove two types used in testing: TypeTagM and Platform, which are now available to us through our catalysts test dependency).
After this change, we would have only two subprojects:
algebra-core: contains all type classes, etc.
algebra-laws: contains all laws, law-checking code, tests and helpers, etc.
I didn't go ahead and enable MiMA on this yet because I wanted to float the idea of removing those two types that are extraneous. I can readd them if we think compatibility there is worth it. I'm also happy to verify that those two types are the only things that changed.
What do you think @johnynek? Also interested to hear from @tixxit and others on this.
This PR implements the proposal in #160. It changes the module structure without changing any of the core type classes (although it does remove two types used in testing:
TypeTagM
andPlatform
, which are now available to us through our catalysts test dependency).After this change, we would have only two subprojects:
I didn't go ahead and enable MiMA on this yet because I wanted to float the idea of removing those two types that are extraneous. I can readd them if we think compatibility there is worth it. I'm also happy to verify that those two types are the only things that changed.
What do you think @johnynek? Also interested to hear from @tixxit and others on this.