[Checkins] SVN: zope.interface/branches/gary-crazy-experiments/ Make a branch for crazy (backwards incompatible) experiments.

Gary Poster gary.poster at canonical.com
Mon Aug 3 09:05:52 EDT 2009


Log message for revision 102454:
  Make a branch for crazy (backwards incompatible) experiments.
  
  plans/ideas for experimentation:
  - change InterfaceClass to InterfaceMetaclass (i.e., use new-style metaclass
    hook)
  - make it unnecessary to expose commonly used zope.component API, possibly
    making implementation that does not rely on zope.component for these tasks
    (TOOWTDI sort of thing).  On the way, eliminate concept of "named" adapters
    and utilities, if possible while keeping desired functionality (see
    replacements ideas below).
    - change __call__ to accept multiple args (i.e., provide access to
      "multiadapter" sorts of behavior)
    - provide API on interface to look up adapter(/multiadapter) factory (i.e.,
      not called)
    - remove "named adapters" (rely on being able to pass arbitrary objects as
      arguments, such as strings, and registering for a class, such as str.  If
      this doesn't work as I want out of the box, change things so it does)
    - provide API on interface to get registered utility for interface.
    - allow zero or more arbitrary arguments to call for getting a utility
    - remove "named utilities" (rely on arbitrary arguments, as in previous
      point)
    - make APIs for registering adapters/multiadapters, utilities via an
      interface
    - provide ("multiple dispatch"/"generic function") callable that is
      interface-aware.  Implement above adapter and utility calls with these.
      Make an alternate zope.event hook that uses this multiple dispatch,
      rather than abusing interface semantics.  Thereby eliminate need for
      "subscription adapters"
  - store information about what classes implement locally (in a registry), not
    modifying the class
  - provide new-style Python class decorator for ``implements``
  
  Might not get to all this, but it sounds like fun right now, and I have a
  very-first-step to check in.
  
  
  

Changed:
  A   zope.interface/branches/gary-crazy-experiments/

-=-


More information about the Checkins mailing list