3 Small Bugs & Enhancements

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

3 Small Bugs & Enhancements

Postby Prophet1024 » Fri Feb 23, 2007 2:21 pm

.
Last edited by Prophet1024 on Mon Apr 04, 2011 1:16 pm, edited 2 times in total.
Prophet1024
 
Posts: 4
Joined: Mon Jan 29, 2007 12:36 pm

Postby wembley » Mon Feb 26, 2007 8:44 am

1. EsOrderedDictionary>>keysDo:


I look at this a bit differently, but I come to the same conclusion. KeyedCollections implement a set of methods that depend on the ordering of keys. These include at least the following:
    associationsDo:
    collect:
    detect:
    do:
    doWithIndex:
    findFirst:
    injectInto:
    keys
    keysAndValuesDo:
    keysDo:
    select:
In EsIndexedDictionary and its subclasses, all of these methods with the exception of keysDo: are driven by the ordering of 'sequenceableKeys', not the ordering of keys in 'lookupTable'. It seems reasonable that all these methods should behave in a similar manner with respect to key ordering.

Both EsIndexedDictionary>>keysDo: and EsOrderedDictionary>>keysDo: should be modified.

2. EsOrderedDictionary>>values

Yes, a shallowCopy (similar to what is done for 'keys') would be more efficient.

3. EsIndexedDictionary and EsOrderedDictionary both implement = but they don't implement a corresponding hash function. I understand this is probably a bug.

Yes, a bug.

I will open a defect report for these 3 items. Thanks for letting us know about them. If any of your other hundreds of changes should be propogated into the base code, please let us know.
John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
wembley
Moderator
 
Posts: 405
Joined: Mon Oct 16, 2006 3:01 am
Location: Durham, NC


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: No registered users and 1 guest