[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] IdentityDictionary possible bug: does not behave correctly after a readArchive WAS Re: [sc-users] Parameter space - saving to disk



On Saturday 16 May 2009 17:22:38 Miguel Negrao wrote:
> Thanks for the heads up James. Where can you I check which types are
> atomic types ?
>
> Nescivi, do you think it would be possible to have the ParameterSpace
> class use dictionaries instead of IdentityDictionaries ?


Sure.
Just send me a diff, and I'll commit it.


(go to the quarks/SenseWorld dir in the command line, type:
svn diff > parspace_dict.diff
and send me the resulting file offlist.


sincerely,
Marije


>
> James Harkins escreveu:
> > Not a bug. IdentityDictionaries should use only atomic types as keys.
> > Point is not an atomic type. Therefore you should be using Dictionary
> > instead.
> > hjh
> >
> > On Thu, May 14, 2009 at 1:50 PM, Miguel Negrao
> >
> > <miguel.negrao@xxxxxxxxxxxxxxxxx> wrote:
> >> With some investigations I concluded that IdentityDictionary's
> >> cannot be loaded with a readArchive.
> >>
> >> z = Point(0.5,0.5)
> >> y = Point(0.2,0.5)
> >> a = IdentityDictionary.new;
> >> a.put(z,"the point");
> >> a.put(y,"another point")
> >> a.writeArchive("/test")
> >> b = Object.readArchive("/test")
> >> b[b.keys.asArray[0]]
> >>
> >> this gives nil. This seems to me to be a bug, and I wonder if it could
> >> be fixed (devs ?). MultiLevelIdentityDictionary suffers from the same
> >> problem and that's what is keeping ParameterSpace from being saved
> >> correctly.