Scheme language standardization process
On 05/25/2013 02:06 PM, Vassil Nikolov wrote: > > > Per Bothner <per@x> wrote: > >> On 05/25/2013 01:50 PM, Vassil Nikolov wrote: >>> >>> Per Bothner <per@x> wrote: >>> >>>> ... >>>> a bag of T is just >>>> a minor optimization of a map (hash-table) from T to integers. >>> >>> Except when equality only depends on >>> parts of the elements. >> >> I don't understand this comment. > > If a bag's notion of element equality only > takes into account a part of each element > and ignores the rest of the element, > keeping a count instead of the elements > themselves would lose information. I don't the think the bag API supports this. I.e. using a bag will also lose information, unless the bag API is clearly specified to support this use case. And I don't believe it does. Both bad and maps may support element equality which only takes into account a part of each element and ignores the rest of the element, But it's not clear to me the bag API has a way to iterate over all of the "equivalent but distinct" API. I guess it depends on what bag-for-each does. To support this use-case you could use a map that maps T to list-of-T. So there is still no strong need for a separate bag API. -- --Per Bothner per@x http://per.bothner.com/ _______________________________________________ Scheme-reports mailing list Scheme-reports@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports