Refactor Arrow making use of Arrow meta features [Draft ticket]
danimontoya opened this issue · comments
Since Arrow Meta is becoming stable we can start the integration into Arrow Core so we can make a nice refactor of current encoding by making use of all the Arrow meta features.
These are the first steps to get to the goal:
- Enable the Arrow meta compiler plugin, so we can add it to the IDE. Here is the setup guide
- Migrate the prelude module from meta into Arrow core, so we can make use of type proofs, Tuples, Unions, Refined types and so on. ( #247 )
- Refactor typeclasses. Make use of Coercion/Extension/Given type proofs. Start refactor with Semigroup.
- Deprecate current definition for Tuples and make use of the encoding done in Meta.
- Benchmark Union types vs Sealed classes
- More to be added here