The expected result is false, but: axiom R ==> Record(key: Symbol, entry: String) Type: Void
axiom T ==> AssociationList(Symbol, String) Type: Void
axiom t1 := construct([[x, "ix"]$R])$T
Type: AssociationList?(Symbol,String)
axiom t2 := construct([[y, "iy"]$R])$T
Type: AssociationList?(Symbol,String)
axiom (t1=t2)::Boolean
Type: Boolean
The reason is in the definition of equality in 'TBAGG':
s:% = t:% ==
eq?(s,t) => true
#s ^= #t => false
for k in keys s repeat
(e := search(k, t)) case "failed" or (e::Entry) ^= s.k => false
true
which will always return Martin ... --gdr, Sun, 18 May 2008 13:33:32 -0700 reply
Fixed in OpenAxiom
|