spartanz / schemaz

A purely-functional library for defining type-safe schemas for algebraic data types, providing free generators, SQL queries, JSON codecs, binary codecs, and migration from this schema definition
https://spartanz.github.io/schemaz
Apache License 2.0
164 stars 18 forks source link

Avro #31

Open vil1 opened 5 years ago

vil1 commented 5 years ago

Add an avro module that would provide ways to encode/decode arbitrary data to/from org.apache.avro.GenericContainer given a schema.

This module should also provide ways to encode/decode our Schema GADT to/from org.apache.avro.Schema (this is related to #30)

GrafBlutwurst commented 5 years ago

I'll for sure help out on this as I have a fair bit experience with AVRO. I'd also raise the question of doing our own generic representation (or tweak mine) in addition to the org.apache.avro ones. The reason being that the apache ones have tons of typecasting and other nastyness that leaks to usage site and would conflict with how we want to do software.

vil1 commented 5 years ago

In my previous experience, I did too feel the need for a custom generic data representation that matched closely my schema representation.

But I now have the faint intuition that we should be able to avoid adding such representation. So I'd like to see how far we can get without defining such representation before defining one.

mijicd commented 5 years ago

I'd take care of this one if no one's already working on it.

vil1 commented 5 years ago

@GrafBlutwurst: had you started working on that? If so (or in any case actually), maybe you could pair-program it with @mijicd.

GrafBlutwurst commented 5 years ago

no I haven't started work yet. But I'll gladly help out @mijicd if he can use any help

mijicd commented 5 years ago

@GrafBlutwurst thanks, I'll contact you on Gitter in case I'm stuck.