For example, I have the following code:

type alias Account =
  { id : Int
  , name : String }

-- ... in another module ...

accountToJson : Account -> Json.Encode.Value
accountToJson act = Json.Encode.object
  [ ("id", Json.Encode.int act.id)
  , ("name", Json.Encode.string act.name)
  ]

If I add a field to Account, I'd like the compiler to make sure it won't be 
skipped in the output JSON. The way I have written the encoder, the 
compiler will happily let me skip the field in the serialized version of my 
data.

I thought about using destructuring like so:

accountToJson : Account -> Json.Encode.Value
accountToJson {id, name} = Json.Encode.object
  [ ("id", Json.Encode.int id)
  , ("name", Json.Encode.string name)
  ]



But according to the documentation 
<http://elm-lang.org/docs/records#pattern-matching>, this will compile fine 
even if Account gains a new record.

Any ideas on how to add this bit of type-safety to my application?

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to