Re: [Caja] Equality of mappings in E
David-Sarah Hopwood <david.hopwood-mRVxzIiVagSlV3Ge8JjJtnfLna9zW77MtUK59QYPAWc@public.gmane.org>
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <[email protected]> |
Kevin Reid wrote: > On Mar 10, 2009, at 16:28, Mark S. Miller wrote: >> On Tue, Mar 10, 2009 at 11:01 AM, David-Sarah Hopwood <[email protected] >>> wrote: >> Mark S. Miller wrote: >>> The corresponding cases in E without quasis: >>> >>> ? ["a" => 1, "b" => 2] == ["b" => 2, "a" => 1] >>> # value: false >>> >>> They aren't equal because they are different. >> I'm surprised. The ASTs of the left- and right-hand sides are >> certainly >> different, but this is testing whether the values are the same. >> Why aren't the values the same? >> >> [Feel free to move this to e-lang.] >> >> Because their enumeration order is different. > > Note that if the maps are restricted to have string keys, then it is > not impossible to canonicalize the enumeration order. A possible design is to have both sorted and unsorted maps, where a sorted map is constrained to have a total comparison on keys. Sorted maps seem like a useful abstraction to me. In that case there should probably be separate literal syntaxes for each kind of map. -- David-Sarah Hopwood ⚥ _______________________________________________ e-lang mailing list [email protected] http://www.eros-os.org/mailman/listinfo/e-lang