[Collin Winter] > Put another way, a role is an assertion about a set of capabilities. . . . > If there's interest in this, I could probably whip up a PEP before the > deadline.
+100 I'm very interested in seeing a lighter weight alternative to abc.py that: 1) is dynamic 2) doesn't require inheritance to work 3) doesn't require mucking with isinstance or other existing mechansims 4) makes a limited, useful set of assertions rather than broadly covering a whole API. 5) that leaves the notion of duck-typing as the rule rather than the exception 6) that doesn't freeze all of the key APIs in concrete I'm concerned that the current ABC proposal will quickly evolve from optional to required and create somewhat somewhat java-esque landscape where inheritance and full-specification are the order of the day. IMHO, the ABC approach is using a cannon to shoot a mosquito. My day-to-day problems are much smaller are could be solved by a metadata attribute or a role/trait solution: * knowing whether a __getitem__ method implements a mapping or a sequence * knowing whether an object can have more that one iterator (i.e a file has one but a list can have many) * knowing whether a sequence, file, cursor, etc is writable or just readonly. Raymond _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com