

(7) I think the naming convention is a bit off-of-the-specific-topic of if something that we’re referring to as an OrderedSet should be added to stdlib. Debate could still be had as to whether that name was a mistake or not but it feels unlikely to change the outcome. (6) Multiple packages already use the name OrderedSet and people are used to it, so I think the ship has probably sailed on how such an object would be named. (5) Do you make the same argument for ordered dicts? That arbitrary ordering of keys in key-value pairs is the fundamental property of dictionaries and that naming the OrderedDict that way was a mistake and making dicts ordered was a mistake? If not why? What is different between dicts and sets for you? But I also probably wouldn’t make a decision on that and would follow whatever convention exists between OrderedDict and dict (or maybe whatever convention existed before dicts were ordered?) for consistency. So that the sets ? How about other conventions? I’d be inclined to say no in both cases but my opinion isn’t strong. Whatever order sets may or may not have is merely not significant, and set operations ignore it. It is not correct to define sets as necessarily lacking order. Mathematically, sets are defined by their properties, of which membership is the most fundamental. Without such a use-case, we can hardly say that lack of order is the most important property of a set.


To me, the most important of these properties is that the elements are unordered,ĭo you really care more about sets being unordered than you care about the ability to perform membership testing and to find intersections, unions, set differences etc? That seems odd.ĭo you have a use-case for sets that requires them to be unordered, one that would break if sets became ordered like dicts are?
