plate
plate copied to clipboard
Enumerate features we might add to Plate
This will hopefully stay fairly short.
- Maximum and Minimum (for integers, sequences, etc.)
- New value types (e.g. multisets). See #4.
- Default values
- Optional record values (in the sense that fields can be missing entirely, not just
null) - A distinction between row types and record types
We'll open individual issues for some of these topics. This issue is for the big picture things: do we want Plate to stay close to Haskell/PureScript's type systems, or do we want to add features common in other schema systems like maximum and minimum integers?
Should typeclasses go on this list? My impression is no, since I don't see a principled way to implement them. You could have class schemas, but since Plate doesn't have functions you couldn't write useful instances. And without everyone having access to the same instances the principles behind typeclasses fall apart.