Pit captain: > Sven Suska schrieb: >> And I am 100% in favour of a order-preserving hash in the Ruby core. *snip* > Sven, regarding the "HistoryHash" part of your post: > > In order to replace the standard Hash with a "better" Hash, there should > be a clear agreement on its desired behaviour. I don't think this > agreement has been achieved yet. What should be the result of the > following code? *snip* I've not been following this post attentively... My vote is against the proposal (to add semantics to Hash)- for what it's worth :) I am very much in favour of the Hash remaining a Hash. It's an extremely useful datatype, and it's clear what it does and doesn't do. Personally, I would very much like to see an ordered container in the standard distribution. It would behave like the c++ stl's map or set. (I think these are commonly implemented on top of a b-tree, but other data types are possible, I believe.) Containers like this let you: * iterate through entities in an ordered way. * have log(n) insert time * have log(n) search time * let you to query for a close match (not necessarily an exact hit). A Hash that also remembers insertion order seems like it could be useful, although I don't think I've needed one (while I have wanted the container described above). I definitely don't think such an order preserving hash should replace what is in the standard though. In the same way I wouldn't want to add semantics to Array or Set. The pragmatic approach (and what I imagine will happen) is that if someone wants these, they should write them. If they're then widely used, they should go in to the standard distribution. Cheers, Benjohn