marigold-dev / marigold-dev/deku
Stop using [@deriving yojson] in exposed types
- Dominant language
- OCaml
- Stars
- 82
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
While deriving is helpful it is common for it to ignore invariants defined otherwise in the modules. As this is particularly tricky we will be removing it for now.
Deriving can still be used but the full ritual needs to happen by defining a type only for serialization and converting from it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating exposed types that use [@deriving yojson] and inspect how their module invariants are defined. Replace those uses with serialization-only types and explicit conversions, as described in the issue; done means exposed types no longer rely on deriving while serialization remains available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100