Python Macros

Jacek Generowicz jacek.generowicz at
Wed Oct 6 11:02:51 CEST 2004

aleaxit at (Alex Martelli) writes:

> Jacek Generowicz <jacek.generowicz at> wrote:
>    ...
> > Some might argue that this is not the message passing paradigm, as (in
> > their opinion) the message passing paradigm mandates that _all_
> > interaction with the object be done via messages, and they might
> > (justifiably) argue that "x.y" is _not_ really a message.
> I don't see the "justifiably" part -- how does the choice of syntax
> sugar make some operation "really a message" or not?!

Because they might claim that attribute access being implemented via a
message is an implementation detail, and that the concept represented
by the sugar (direct attribute access) is more important in this case.

All completely pointless, of course :-)

And, yes, probably not justifiable ... but who cares ?

> > But then, many would say that Python is not object-oriented at all, as
> > it does not have access restriction (enforced privacy).
> And others have put down in writing that "being really
> object-oriented" absolutely requires static typing (!)

Yes, this one really puzzles me. One of the fundamental underlying
mechanisms for implementing object orientation would have to be
run-time type identification ... which, by definition, is absent from
static type systems. So you have to smuggle some dynamic typing into
your static type system.

(I vaguely remember reading somewhere, speculations that this might
otherwise be achieved by heroic efforts in delaying fromal binding
time by some other means.)

> The fact that people can and do say totally idiotic things [...] 
> doesn't mean much

My point exactly.

> _We_ of course don't need snake oil, since we have the whole
> snake...

Yes, but squeezing the oil out of the snake can be quite an effort. I
guess that's why so many people prefer the pre-extracted and packaged

More information about the Python-list mailing list