
Thanks, Nick! I'll let this sink in today and give it a shot tomorrow. Have a great weekend, --diana
* Switch to your suggested "set-of-strings" API at the Python level, with the Python level integer interface retained only for backwards compatibility * Keep the current integer-based *C* optimization API, but redefine the way that value is interpreted, rather than passing Python sets around
The Python APIs would then convert the Python level sets to the bitfield representation almost immediately for internal use, but you wouldn't need to mess about with the bitfield yourself when calling the Python APIs.
The difference I see relates to the fact that in Python:
* sets of strings are easier to work with than integer bitfields * adding a new keyword-only argument to existing APIs is straightforward
While in C:
* integer bitfields are easier to work with than Python sets of Python strings * supporting a new argument would mean defining a whole new parallel set of APIs