[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