[Python-Dev] Extended Function syntax

Jeremy Hylton jeremy@alum.mit.edu
Sat, 1 Feb 2003 13:14:11 -0500


>>>>> "AR" == Armin Rigo <arigo@tunes.org> writes:

  AR> On Tue, Jan 28, 2003 at 05:44:26PM -0500, Guido van Rossum wrote:
  >> These all abuse the class keyword for something that's definitely
  >> not a class.  That's a fatal flaw.

  AR> Too bad Python's metaclasses are powerful enough for doing all
  AR> the kind of things that a macro system could do without actually
  AR> manipulating the syntax, if it is to hear that actually doing so
  AR> is fatally flawed :-(

Zope is full of hacks like this :-).

In Zope3, I see many new language features added through metaclasses,
special objects created with class statements, elaborate protocols to
declare interfaces and lookup adapters for objects by interface.  I
think many or all of these features are necessary in such a large
system intended to accomodate extension at so many levels.

Many of the Zope3 features are begging for syntactic support.  That
is, the use of the features would be clearer if they could be spelled
in a straightforward way.  Python provides plenty of features that
allow you to extend the language.  It's unfortunate that you can't
extend the syntax, too.

Jeremy