|
From: Sean P. <sp...@ad...> - 2007-05-10 17:10:30
|
On May 10, 2007, at 9:52 AM, Tony Van Eerd wrote: > I don't use much of the code directly, so maybe I don't have a good > feel for it, but from your description, it sounds like a lot of > fundamental changes for something that you are trying to lock down > and maintain support for going forward. A lot of this work has been kicking around on the drawing board for awhile (the closed hash implementation was written as the dictionary replacement some time ago and has been sitting in /future). The request has been made to provide an interface that we can support - so to do that I'm locking down the binary representation to something I can define independent of the compiler and an interface that more closely conforms to standard containers. The new representations are one that are designed so they can be specified in terms of a C structure. The amount of code that uses (abuses?) the dictionary code in the widget library was a bit surprising and made the conversion more difficult then expected (converting the asl_dev library took less than an hour, converting the widget library took two days) - I believe the use of dictionary in the widget library needs to be reduced in two ways. 1) isolate most of the usage to the boundary between the parsers and the widgets - currently the dynamic types from the parsers have crept all the way down to the platform layer. This is both inefficient and fragile. 2) provide a better, standard way for extracting a dictionary into a struct - Ralph Thomas did some work related to this to make it easier to bind a C++ function to CEL - I think I can leverage some of the same ideas to solve this problem. Sean |