On 10/8/07, murphy <murphy / rubychan.de> wrote:
> David Flanagan wrote:
> > Is this an implementation detail, or is it part of the specification?
> If it becomes specification, we might want to add Array-style handling
> for Hash:
>
> * Hash#[] with a range or a start and a length

I would guess that the implementation of the ordering is a linked
list, which has slow random access.

A linked list would allow O(1) overhead for insert/delete and not hurt
other operations.  The space overhead would be two pointers per key
(next and previous).