Hacker GitHub

← All repos

stepchowfun/typical

View on GitHub ↗ ★ 767 Rust

Data interchange with algebraic data types.

15 mentions on Hacker News by 11 people: 5 stories, 10 comments · first 2022-01-16 · latest 2026-02-10

Mentions per year 15 mentions · busiest year 2023 (6)
20082026
  1. …IDL try to do this properly by baking evolution semantics directly into its type model, typical ( https://github.com/stepchowfun/typical ) with it's `asymmetric` type label: it makes a field required in the constructor but not the…
  2. More direct link to the juicy bit: https://github.com/stepchowfun/typical?tab=readme-ov-file#as... An asymmetric field in a struct is considered required for the writer, but optional for the reader.
    comment by rkagerer · 2025-09-06 · in Protobuffers Are Wrong (2018)
  3. Mentioned above: https://github.com/stepchowfun/typical
    comment by akavi · 2025-09-05 · in Protobuffers Are Wrong (2018)
  4. Not widely used but I like Typical's approach https://github.com/stepchowfun/typical > Typical offers a new solution ("asymmetric" fields) to the classic problem of how to safely add or remove fields in record types without breaking…
    comment by jitl · 2025-09-05 · in Protobuffers Are Wrong (2018)
  5. …proto3, google’s usual schema language, doesn’t have this constraint. Example of one that does: https://github.com/stepchowfun/typical
  6. ▲ 1
    Typical: Data interchange with algebraic data types
    story by 082349872349872 · 2024-09-26 · 0 comments
  7. Typical provides "asymmetric" fields to assist with evolution of types: https://github.com/stepchowfun/typical#asymmetric-fields-can... >To help you safely add and remove required fields, Typical offers an intermediate state between…
    comment by oftenwrong · 2023-07-28 · in Cap'n Proto 1.0
  8. …the Rust or TypeScript generator and modifying it appropriately. See the contributing guide here: https://github.com/stepchowfun/typical/blob/main/CONTRIBUTIN...
  9. …in Content Security Policy-restricted environments. See this section of the README for more info: https://github.com/stepchowfun/typical#javascript-and-typesc...
  10. …run into similar trouble when removing them. This section of the README discusses all the pitfalls: https://github.com/stepchowfun/typical#required-optional-and...
  11. ▲ 129
    Typical: Data interchange with algebraic data types
    story by g0xA52A2A · 2023-05-21 · 50 comments
  12. …that supports sum types. It introduces a mechanism called “asymmetric” fields that’s pretty clever. https://github.com/stepchowfun/typical
    comment by vlmutolo · 2023-03-23 · in Protobuffers Are Wrong (2018)
  13. ▲ 1
    Typical Rusty: Data interchange with algebraic data types
    story by metadat · 2022-07-06 · 0 comments
  14. ▲ 2
    Typical: Data interchange with algebraic data types
    story by todsacerdoti · 2022-07-06 · 0 comments
  15. ▲ 5
    Typical: Data interchange with algebraic data types
    story by stepchowfun · 2022-01-16 · 0 comments