[Python-Dev] Re: Stability and change (original) (raw)

Barry A. Warsaw barry@zope.com
Mon, 8 Apr 2002 03:20:09 -0400


"AM" == Alex Martelli <aleax@aleax.it> writes:

AM> How does this amount of effort (keeping two CVS repositories
AM> in sync) compare to maintaining just one tree but with
AM> "feature-test macros" as one might try to do in C?  In other
AM> words, how much help would it be if (for example) Python's
AM> compiler optimized away tests of the form, e.g., if
AM> __version__ > ( 2, 2 ) : as it does now with -O for "if
AM> __debug__:" but even more deeply (so even some "syntax errors"
AM> in the optimized-away conditional would be OK -- catering for
AM> future syntax changes at the add-a-keyword level, e.g.)?

AM> Maybe the obfuscated-with-version-tests merged source would be
AM> too hard to maintain -- and maybe not, so I'm quite curious
AM> about what your experience suggests here.  Intuitively, it
AM> might seem a version test could perhaps help two or more
AM> versions be alive at the same time, but I know of so much
AM> controversy over C's #if (mostly, IMHO, because of its
AM> over-use) that I wonder.

Part of the problem is implementation details (i.e. avoiding the use of Python 2.2 features in standalone, but not in the Python cvs tree). Part of it is due to the nature of distutils package layout (i.e. you need to put setup.py, README, etc. someplace, and distutils seems to strongly discourage it being in th epackage). Part of it's also that I feel I have more leeway to change things in the standalone package.

But at some point it will stop making sense to distribute a separate package.

-Barry