[PEAK] Intended behavior of StructuralFeature._setup ?
Bob Ippolito
bob at redivi.com
Tue Feb 24 01:04:46 EST 2004
On Feb 24, 2004, at 12:54 AM, Bob Ippolito wrote:
> I'm still studying StructuralFeature here to try and figure out how
> best to add support for mappings (first as a subclass in my own code,
> then perhaps as a patch)...
>
> Right now I'm staring at the code for _setup, and it doesn't seem to
> make a lot of sense:
>
> ...
> if feature.isMany:
> p = 0
> value = tuple(map(normalize,value))
>
> for v in value:
> doLink(element,value,p)
> p+=1
>
> note especially the doLink that uses "value" and not "v". I assume
> this is a bug?
>
> Also, what's the point of making a tuple of a map that you're just
> going to iterate over? Without using gc.get_referrers or similar
> "fun" code, I can't imagine what could possibly change that list
> during iteration.
Ok ignore that.. it's late :)
> FWIW, I decided to make a separate implementation of unlink for
> mappings that are or are not ordered (isMany uses the same
> implementation). I can't imagine what kind of invariant you're trying
> to preserve in a collection that's marked as unordered by deleting it
> in reverse arbitrary order :)
More information about the PEAK
mailing list