[Python-Dev] readd u'' literal support in 3.3?
Michael Foord
fuzzyman at voidspace.org.uk
Tue Dec 13 23:17:16 CET 2011
On 13/12/2011 21:10, Terry Reedy wrote:
> On 12/13/2011 2:02 PM, PJ Eby wrote:
>> On Tue, Dec 13, 2011 at 11:24 AM, Antoine Pitrou <solipsis at pitrou.net
>> <mailto:solipsis at pitrou.net>> wrote:
>>
>> On Tue, 13 Dec 2011 15:28:31 +0100
>> "Laurence Rowe" <l at lrowe.co.uk <mailto:l at lrowe.co.uk>> wrote:
>> >
>> > The approach that most people seem to have settled on for porting
>> > libraries to Python 3 is to make a single codebase that is
>> compatible with
>> > both Python 2 and Python 3, perhaps making use of the six library.
>>
>> Do you have evidence that "most" people have settled on that
>> approach?
>> (besides the couple of library writers who have commented on this
>> thread)
>
> I think there is clearly enough 'some' people to justify official
> support of a 2to23 (or more obscurely, 2to6, but I just got the point
> that 6=2*3).
More specifically "six" [1] is the name of Benjamin Peterson's support
package to help write code that works on both 2 and 3. So the idea is
that the conversion isn't just a straight syntax conversion - but that
it [could] generate code using this library.
All the best,
Michael
[1] http://packages.python.org/six/
> Beyond that, we don't know and don't need to know.
>
>> I've seen more projects doing it that way than maintaining dual code
>> bases. In retrospect, it seems way more attractive than having to run a
>> converter all the time, especially if I could run a "2to6" tool *once*
>> and then simply write new code using six-isms
>>
>> Among other things, it means that:
>>
>> * There's only one codebase
>> * If the conversion isn't perfect, you only have to fix it once
>> * Line numbers are the same
>> * There's no conversion step slowing down development
>>
>> So, I expect that if the approach is at all viable, it'll quickly become
>> the One Obvious Way to do it. In effect, 2to3 is a "purity" solution,
>> but six is more like a "practicality" solution.
>
> 2to3 is the practical solution for someone converting private Python 2
> code to run on Python 3 *instead* of Python 2, without looking back.
> By the nature of things, such conversions will be private and
> scattered over the next decade or so. If 2to3 works well, we will
> never hear about them, except for the rare praise. Ditto for public
> code whose author wishes to abandon Py 2. But that seems to rare so far.
>
> So we are really talking about upgrading public libraries and apps to
> work with Python 3 *as well as* 'recent' Python 2 versions. For that,
> a 'Python23' bridge seems to work for some.
>
> Looking ahead, there will in the future be a need for a 23to3
> converter to remove the then extraneous bridge code. But that will
> need a semi-standard 'Python23' to work from.
>
--
http://www.voidspace.org.uk/
May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html
More information about the Python-Dev
mailing list