[e-lang] [Caja] Equality of mappings in E
Kevin Reid
kpreid at mac.com
Tue Mar 10 17:08:05 EDT 2009
On Mar 10, 2009, at 16:28, Mark S. Miller wrote:
> On Tue, Mar 10, 2009 at 11:01 AM, David-Sarah Hopwood <david.hopwood at industrial-designers.co.uk
> > 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.
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list