How about the ellipses as a Python 3 marker? >From a previous discussion, the error messages on this null-op should be made better in Python 3.0 anyway.
If ellipses are allowed as a stand-alone statement, much like pass, then we could just have these messages: Python 2.6: "Unexpected '...'. Ellipses not supported until Python 3.0. Another cause might be pasting in code from within the IDLE interpreter. Python 3.0: 'Unexpected '...'. Might be caused by pasting in code from within the IDLE interpreter. An idiom that might be used during the early transition period: ... # Require python 3.x print ("I'm Pythonic!") The idiom would disappear with time, not add special cruft to the language, and would give a reasonable compile-time error message. Just a thought, Charles --- Charles Merriam e: [EMAIL PROTECTED] u: http://www.charlesmerriam.com q: "Crufty solutions make crufty curmudgeons." On Feb 2, 2008 11:47 PM, Gregory P. Smith <[EMAIL PROTECTED]> wrote: > yep we've already been through that problem in the past when list > comprehensions, generators and with were added to name a few. since python > 3 code is highly unlikely to even parse with a 2.x interpreter much of the > time thats a reason to consider a .py3 extension if this precedent of not > caring is to be broken. > > -0 on using .py3 instead of .py for python 3. i think its slightly silly > but i won't object. > > +1 on devising a way (to appear starting in 2.6 and 3.0) of marking the > minimum language version required by a file near the top so that the parser > can bail with a useful error message instead of one confusing to the lay > person. similar to a from future import type of thing perhaps? or should > python parse a #! line and magically notice a required major version number > in the python binary name (evil but it would work and magically annotate a > bunch of existing code as 2 vs 3)? > > also yes python 3 should build and install as 'python3' as the short form of > its name though realistically anyone sane will write their code with #! > lines specifying the actual version in the executable name and have shell > aliases setup if they want an even shorter name. > > > > On 2/2/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Leif> There is already an idiom with other packages (pygtk etc.) that > > Leif> suggests syntax like > > > > Leif> try: > > Leif> python.require('3.1') > > Leif> except: > > Leif> print('Some warning about version incompatibility') > > Leif> exit(1) > > > > It won't work in this case. Compilation of the module might well fail > > because of Python2/Python3 syntax differences. > > > > Skip _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com