[HN Gopher] Typical: Data interchange with algebraic data types
___________________________________________________________________
Typical: Data interchange with algebraic data types
Author : g0xA52A2A
Score : 56 points
Date : 2023-05-21 08:41 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| xupybd wrote:
| I'd love to use this if it had .net support.
|
| We use Nats to communicate between services and use JSON for a
| lack of better options. I've been looking for something more
| efficient and strict. This looks like it would be a good match
| for F#s types.
| pickledish wrote:
| > Note: An optional field in a choice isn't simply a field with
| an option type/nullable type. The word "optional" here means that
| readers can ignore it and use a fallback instead, not that its
| payload might be missing
|
| Hmm, this is new to me -- is this a Typical concept, or something
| more general around protobuf-enums that I just haven't run into
| before?
|
| (oh, and besides my question, strong agreement with everyone else
| here, cool lib and great documentation!)
| tiziano88 wrote:
| Brilliant, I have been thinking of doing exactly this for a while
| now, glad I waited for someone else to do it in a better way :)
| klysm wrote:
| Looks phenomenal, especially regarding robustness around union
| types
| habitue wrote:
| This seems like the thing I wish protocol buffers were, but
| learning from them and removing the warts. Very promising.
|
| Also, implementing in rust and typescript as the first languages
| was a smart choice
| revskill wrote:
| Protocol buffer lacks of good documentation for beginners which
| fits in a README.md. It's not a community project i guess.
|
| Basically enterprisey toolings bored me to death.
|
| Nowadays i trust toolings whose documentation could fit in a
| README file. It means it's concise, simplicity.
| bombolo wrote:
| It seems we're back to corba
| xupybd wrote:
| * * *
| munificent wrote:
| Asymmetric fields is a really clever idea.
___________________________________________________________________
(page generated 2023-05-21 23:00 UTC)