codec
codec copied to clipboard
ADTs example
I have figured out how to parse an ADT but am not sure how to serialize it well. Instead of the constructor being the initial function, a function that picks the constructor would be the starting function. However, I am not sure how to continue from there.
Using JSON:
data StringEncoded
= Date Year Month Day
| Money Currency Int
stringEncodedObjCodec :: JSONCodec StringEncoded
stringEncodedObjCodec = ???
Json data
{"type": "date"
,"year": 1234
,"month": 5
,"day": 6
}
{"type": "money"
,"currency": "USD"
,"amount": 1234
}