plate icon indicating copy to clipboard operation
plate copied to clipboard

Enumerate features we might add to Plate

Open seagreen opened this issue 8 years ago • 1 comments

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?

seagreen avatar May 18 '17 22:05 seagreen

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.

seagreen avatar May 20 '17 19:05 seagreen