Il formato di termine esterno di Erlang has changed at least once (ma questa modifica sembra essere precedente alla cronologia memorizzata nel repository github di Erlang/OTP); chiaramente, potrebbe cambiare in futuro.La definizione del formato di termine esterno di Erlang è stabile? In caso contrario, cosa usare?
Tuttavia, in pratica, è generalmente considerato sicuro assumere che questo formato sia stabile ora? Con "stabile" intendo specificamente che, per qualsiasi termine T
, term_to_binary
restituirà lo stesso binario in qualsiasi versione corrente o futura di Erlang (non solo se restituirà un binario che binary_to_term
convertirà in un termine identico a T
) . Sono interessato a questa proprietà perché mi piacerebbe archiviare hash di termini arbitrari di Erlang su disco e voglio che termini identici abbiano lo stesso valore di hash ora e in futuro.
Se non è sicuro assumere che il termine formato sia stabile, che cosa usano le persone per una serializzazione a termine efficiente e stabile?
Anche se queste dichiarazioni lasciano aperta la possibilità che il formato del termine esterno cambierebbe in una versione principale (probabilmente solo in caso di emergenza) o in un modo compatibile, ma non necessariamente identico, la politica è piuttosto incoraggiante. Grazie! – willb