(original) (raw)


On 06/23/2012 04:44 PM, Chris Angelico wrote:
On Sun, Jun 24, 2012 at 9:40 AM, Christian Heimes <lists@cheimes.de> wrote:  
+1 for the general idea and for using Py\_LIMITED\_API. I still like my  
idea of a simple macro based on Include/patchlevel.h, for example:

#define Py_API_VERSION(major, minor, micro) \
  (((major) << 24) | ((minor) << 16) | ((micro) << 8))

#if Py_LIMITED_API+0 >= Py_API_VERSION(3, 3, 0)
#endif




This strikes me as in opposition to the Python-level policy of duck
typing. Would it be more appropriate to, instead of asking if it's
Python 3.3.0, ask if it's a Python that supports PY_FEATURE_FOOBAR? Or
would that result in an unnecessary proliferation of flag macros?




python != c



Or, if you prefer



python is not c





C lacks niceties like constructors, destructors, and default
arguments.  I think C APIs need to be much more precise than Python
APIs; mix-n-match C APIs would be an invitation to heartburn and
migranes.





/arry