[Python-Dev] Gradual migration
Guido van Rossum
guido@python.org
Tue, 24 Oct 2000 10:57:43 -0500
> Paul Prescod wrote:
> >
> > Python 3K. It is the repository for our hopes and dreams. We tend to
> > invoke it in three different situations:
> >
> > 1. in delaying discussions of gee-whiz features (e.g. static type
> > checking)
> >
> > 2. in delaying hairy implementation re-factoring that we don't
> > want to undertake right now.
> >
> > 3. in delaying painful backwards-compatibility breakage
> >
> > I think it is somewhat debatable whether we really need to or should do
> > these three things all at once but that's a separate discussion for
> > another day. (the other experiment may inform our decision)
Marc-Andre Lemburg replied:
> I think will simply be a consequence of doing a complete rewrite
> of the interpreter for Py3K. AFAIR, the only truely feasable
> solution would be doing the rewrite in a widely portable
> subset of C++ and then managing classes at that level.
>
> Moving to a common and very low-level strategy for classes
> will allows us to put even the most basic types (strings and
> numbers) into an inheritence tree.
>
> Differences like the
> ones between Unicode and 8-bit strings would then flesh
> out as two different subclasses of a generic string type which
> again is based on a generic sequence type.
>
> The same could be done for dictionaries: special ones for
> just string keys, case insensitive lookups, etc. could all
> be subclasses of a generic mapping class.
>
> Dito for numbers (and division strategies).
>
> By following this principle there won't be all that much
> breakage, since the old functionality will still be around,
> only the defaults will have changed.
>
> Add to this pluggable compilers and ceval loops, plus a nice
> way of configuring the lot on a per-module basis and you're
> set. (Ok, it's a fluffy clouds image, but you get the picture ;-)
Good job in channeling me, Marc-Andre! I'm sure that's not exactly
how it's going to be, but on the face of it, this sure sounds like a
reasonable possible route. Do you want to be the author for PEP-3000?
--Guido van Rossum (home page: http://www.python.org/~guido/)