El formato de término externo de Erlang has changed at least once (pero este cambio parece ser anterior al historial almacenado en el repositorio Erlang/OTP github); claramente, podría cambiar en el futuro.¿La definición de formato de términos externos de Erlang es estable? Si no, ¿qué usar?
Sin embargo, como una cuestión práctica, ¿generalmente se considera seguro asumir que este formato es estable ahora? Por "estable" me refiero específicamente a que, para cualquier término T
, term_to_binary
devolverá el mismo binario en cualquier versión actual o futura de Erlang (no simplemente si devolverá un código binario que binary_to_term
volverá a convertir a un término idéntico a T
) . Estoy interesado en esta propiedad porque me gustaría almacenar hashes de términos arbitrarios de Erlang en el disco y quiero que los términos idénticos tengan el mismo valor hash ahora y en el futuro.
Si no es seguro asumir que el formato de término es estable, ¿qué utilizan las personas para una serialización de términos eficiente y estable?
Aunque estas declaraciones dejan abierta la posibilidad de que el formato de término externo cambie en una versión principal (probablemente solo en una emergencia) o en una versión compatible pero no necesariamente idéntica en un bit, la política es bastante alentadora. ¡Gracias! – willb