English version
Accueil     Ŕ propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis ŕ jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml ŕ l'adresse ocaml.org.

Browse thread
[Caml-list] Hashtbl.hash and Hashtbl.hash_param
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-08-27 (09:59)
From: jeanmarc.eber@l...
Subject: Re: [Caml-list] Hashtbl.hash and Hashtbl.hash_param
Quoting Xavier Leroy <xavier.leroy@inria.fr>:

> However, we need to think twice before changing the hashing function,
> because this would cause trouble to users that store hashtables in
> files using output_value/input_value: if the hash function changes
> before writing and reading, the hashtable read becomes unusable.
> Hence, a request for OCaml users: if you use hashtables whose keys are
> structured data (not just strings or integers), *and* your program
> stores hashtables to files, *and* it's important for you that these
> persistent hashtables can be read back with future versions of OCaml,
> then please drop me a line.

That is an important point that should, I think, at least be clearly said.
Personally, I always thought that values written with output_value (more
generally marshaled ocaml values) were only guaranteed to be compatible for a
given version of ocaml. I never considered output_value as a "long term" storing
solution, but only a "short term" one (good example: *.cmo ans *.cmi files
generated by the ocaml compiler), not to speak about calculated hash values...

Personally, I *want* the ocaml team to be able to change internal
representation, optimize hash functions etc in the hope that this produces an
even better system! (BTW, I may be wrong, but didn’t some tags change between
3.04 and 3.05, but maybe this didn’t change marshaled values ?)

More generally, the concept and importance of 100% backward compatibility
should be discussed. I can not hope for 100% backward compatibility and hope
for big progresses on the ocaml compiler... no ? If people really want 100%
compatibilty, they should stay with an ocaml version.

Conclusion: personally, I don’t want progress of the compiler made difficult by
a 100% backward compatibility "religion". What do other users of ocaml think
about it? (I agree that this is of course a question that is as old as the
existence of computer languages: its more a question about what stage of
development we think ocaml has reached now)

Jean-Marc Eber
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners