ho qualcosa simile al seguenteMaybes obbligatori nel sistema di tipo
data A = A
{ id :: Integer
, foo :: Maybe String
, bar :: Maybe String
, baz :: Maybe String
}
Questi dati è in arrivo al mio servizio come JSON. Questa richiesta è considerata valida solo se vengono forniti uno o più numeri di foo
, bar
o baz
. Esiste un modo migliore per esprimere ciò nel sistema di tipi di Haskell?
Nota: Purtroppo non riesco a fare richieste separate. Sto solo seguendo un protocollo definito.
Cosa sono 'foo',' bar' e 'baz'? Qual è la relazione tra questi tre? – Shoe
Sono diversi tipi di "impressioni" che possono entrare nel servizio. 'Banner',' Video', 'Nativo'. Ognuno di loro descrive un diverso tipo di impressione su cui possono fare offerte. Sto cercando di implementare le specifiche OpenRTB in Haskell. –
possibile duplicato di [Esiste un tipo haskell canonico per "Uno o entrambi"?] (Http://stackoverflow.com/questions/19413438/is-there-a-canonical-haskell-type-for-one-or- entrambi) – jberryman