[Subversion] / PEAK / CHANGES.txt  

Revision 1110


Jump to revision:
Previous Next
Author: pje
Date: Sun May 11 20:16:11 2003 UTC (20 years, 11 months ago)

Log Message:

Added transitive adaptation: declaring an adapter "AB" from A to B, and
"BC" from B to C, automatically implies adaptation from A to C via
BC(AB()).  Used it to simplify the mechanism for adapting an IExecutable
to an ICmdLineAppFactory.  Refactored some of the interface package's
initial kludges to cleaner mechanisms based on adaptation.

Learned some interesting things along the way...  Classic classes don't
have __mro__, which made adapt() break on them.  The technique I was using
in the hopes of suppressing unwanted TypeErrors suppressed wanted ones, and
meanwhile there weren't any unwanted ones in PEAK.  Finally, Python 2.2
doesn't support 'super()' access to properties, and metamethods are
properties, so you have to use my new 'supermeta' to work around this when
you need to call a super() metamethod.  This is supposed to be fixed in
Python 2.3, but not backported 2.2 because Guido considers it a "feature".
Ah well.

Changed paths:

Path Action Text Changes Prop Changes Diff to Previous
PEAK/CHANGES.txt modified X   (diff to previous)
PEAK/src/peak/binding/once.py modified X   (diff to previous)
PEAK/src/peak/interface.py modified X   (diff to previous)
PEAK/src/peak/model/features.py modified X   (diff to previous)
PEAK/src/peak/running/commands.py modified X   (diff to previous)
PEAK/src/peak/util/advice.py modified X   (diff to previous)

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help