Ho giocato con il modulo Text.Show.Pretty e consente di serializzare le strutture dati Haskell come i record in un formato leggibile dall'uomo & sarà ancora in grado di deserializzare facilmente utilizzando read
. Il formato di output è ancora più leggibile di YAML e JSON.È una pratica ragionevole serializzare le strutture dati Haskell sul disco usando solo Mostra/Leggi
Esempio di uscita a puntate per un record di Haskell utilizzando Text.Show.Pretty
:
Book
{ author = "Plato"
, title = "Republic"
, numbers = [ 123
, 1234
]
}
provenienti dal mondo Ruby, so che YAML e JSON sono formato preferito la maggior parte Rubysti per la serializzazione strutture di dati. Le istanze di Haskell Show and Read sono spesso utilizzate per raggiungere lo stesso scopo in Haskell?
Il tuo parser era basato su Text.Parsec o Data.Attoparsec o qualcos'altro? – dan
@ Dan Si può vedere sul [pag Hackage] (http://new-hackage.haskell.org/package/yeganesh) che nessuno dei 'Text',' bytestring', 'binary',' attoparsec', etc. fanno parte delle dipendenze, quindi non devi nemmeno fare qualcosa di sofisticato o cambiare i tipi di dati per ottenere una grande vincita! Ho appena copiato la fonte di 'read' per il mio tipo di dati e ritagliato i bit che sapevo che non avrei usato. –