The exercise of writing test cases for the various APIs was an interesting process, as it gave me the opportunity to reassess whether APIs belonged in the set and also pointed out some holes where additional APIs should be provided.
In the process of doing this, I started to question whether the Table set of APIs even belong on the list. The initial list of APIs was created be drawing upon the old (non-documented) internal object API augmented by my best guess on what additional operations might be needed. As things progressed, I've eliminated a few of the old API holdovers because they didn't really provide any added value or overlapped with other means of doing the same things. NewObject() and NewInteger() are two examples. One rule of thumb I've started applying to the APIs is to recognize that most of the operations in the APIs can be accomplished using the generic SendMessage() API call. However, the API versions make it easier (and more efficient) for the C programmer. for example, ArrayAt() allows a size_t value to be specified for the array index rather than require the size be converted to a Rexx object first, which would be the case if you had to use SendMessage(). If you apply that rule of thumb to the table APIs (TablePut(), TableAt(), TableRemove(), NewTable(), and IsTable()), the only one of these that doesn't map directly into a SendMessage() call is IsTable(), and that one is only required because we have the other set. I'm proposing that these APIs and the associated RexxTableObject type be removed from the API set because there's no real added value to having these APIs. Rick ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel