Setting :index => false on :rows and :chars makes them be returned in creation order (as opposed to some random order presumably generated by the hash?). It's strange that this behaviour becomes enabled by setting :index to FALSE (I kept poking it with true, because that makes more sense on an intuitive level, to a newbie). But there you have it. A strange consequence is that I now had to implement get_char_by_id, where previously this was done by the framework. Not sure what I've unleashed, but there you have it. For rows, having them be returned in creation order is purely an aesthetic thing, but for columns it is somewhat useful when you create a cell row from a raw sequence: you'd have to have some way to guess which entry in the raw sequence has to be associated with which column in the sequence, so behind the scenes there is, in this case, an implicit ordering, unfortunately.
Setting :index => false on :rows and :chars makes them be returned in creation order (as opposed to some random order presumably generated by the hash?). It's strange that this behaviour becomes enabled by setting :index to FALSE (I kept poking it with true, because that makes more sense on an intuitive level, to a newbie). But there you have it. A strange consequence is that I now had to implement get_char_by_id, where previously this was done by the framework. Not sure what I've unleashed, but there you have it. For rows, having them be returned in creation order is purely an aesthetic thing, but for columns it is somewhat useful when you create a cell row from a raw sequence: you'd have to have some way to guess which entry in the raw sequence has to be associated with which column in the sequence, so behind the scenes there is, in this case, an implicit ordering, unfortunately.

nexml/bio-nexml