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).