[Types-sig] What is the Essence of Python? (Was: Low-hanging frui t: recognizing builtins)

Golden, Howard GoldenH@littoncorp.com
Wed, 15 Dec 1999 09:52:54 -0800


Guido van Rossum wrote:

> We lose a tiny bit of dynamic semantics: if some bozo replaces
> __builtin__.len with something that always returns 0, this won't
> affect our module.  Do we care?  I don't.  We don't have to do this
> for *every* builtin; for example __import__() has as explicit
> semantics that you can replace it with something else; for open() I
> would guess that there must be plenty of programs that play tricks
> with it.  But range()?  Or len()?  Or type()?  I don't think anybody
> would care if these were less dynamic.

I reiterate that we should define what is the essence of Python, so we know
what sort of dynamicism and flexibility we are trying to preserve, and what
is superfluous.  Until we do this, we are dealing with a squishy set of
requirements.

In the various comments in the last few days, I have the sense that many of
you are using Python in very innovative ways, far beyond my pedestrian
style.  Therefore, I find some of the arguments very esoteric.

Even if no one is willing to attempt a definition, I would certainly benefit
if someone would point me in the direction of examples of dynamic Python
that you want to preserve.

- Howard