Proposal for telling an implementation what adjacency info an app/service needs
Tim Tautges
tautges at mcs.anl.gov
Wed Nov 11 16:28:18 CST 2009
Carl Ollivier-Gooch wrote:
> Tim Tautges wrote:
>> There are cases where there will be variations in capabilities between
>> implementations, without there being enough commonality to justify
>> binding in the API. The easiest example is load and save options. In
>> that case, an application must either ifdef directly to the
>> implementation's syntax, or use a string option and test the return
>> value of the function. Either way the application will need to handle
>> the case where the capability isn't available. With options, the code
>> is cleaner and there's a middle ground of possibly ignoring the option.
>
> Fair enough, although there should probably be feedback about which of
> multiple options have been ignored.
See my original proposal for adding an error code for this warning. Note that regardless of what we do for tag options,
we need to extend the error codes, since we already allow delimited options in the save/load functions.
>
>> And, remember, I don't advocate doing this widely, just in a few cases
>> where specialized behavior has far-reaching consequences. I have
>> several examples that have been encountered already, one of them
>> resulting in bad press for ITAPS (the sparse vs. dense tags thing).
>
> You gotta admit, though, that citing sparse vs. dense tags as an example
> of the need for a string arg doesn't strengthen your case, since that
> one is a binary choice, -and- we're all likely to be happy to take
> advantage of dense storage internally.
>
That assumes people will agree to change the API (and their implementations, eventually) to support dense/sparse tags.
- tim
> Carl
>
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the tstt-interface
mailing list