On Thu, Jan 13, 2005 at 11:50:37PM -0500, Phillip J. Eby wrote: | 'lossless' isn't really a good term for non-noisy. The key is that a | "noisy" adapter is one that alters the precision of the information it | provides, by either claiming greater precision than is actually present, | or by losing precision that was present in the meaning of the data.
Noisy doesn't cut it -- my PC fan is noisy. In computer science, noisy usually refers to a flag on an object that tells it to spew debug output... | 'statelessness', on the other hand, is primarily useful as a guide to | whether what you're building is really an "as-a" adapter. If an adapter | has per-adapter state, it's an extremely good indication that it's | actually a *decorator* (in GoF pattern terminology). GoF is very nice, but I'm using a much broader definition of 'adapt': To make suitable to or fit for a specific use or situation By this definition, decorators, facade are both kinds of adapters. | Anyway, for type declaration, IMO statelessness is the key criterion. | Type declaration "wants" to have true adapters (which can maintain object | identity), not decorators (which are distinct objects from the things | they add functionality to). Stateful adapters are very useful, and the value of PEP 246 is significantly reduced without alowing them. | Unfortunately, in practice this will just lead to people ignoring the | arguments, because 1) it's easier and 2) it will make their code work | with type declarations! So, it won't actually produce any useful effect. Hmm. Best, Clark _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com