Paul Moore wrote: > On 5/5/05, Nick Coghlan <[EMAIL PROTECTED]> wrote: >> 2. Manual protocol implementations are _significantly_ easier to write > > Hmm, I've not tried so I'll have to take your word for this. But I > don't imagine writing manual implementations much - one of the key > features I like about Guido's proposal is that generators can be used, > and the implementation is a clear template, with "yield" acting as a > "put the block here" marker (yes, I know that's an > oversimplification!).
If using a generator is easier to code (but I tend to agree with Nick), a new type, a one-shot-generator (not really a generator, but some type of continuation), as suggested Steven Bethard with stmt, could be created: def opening(filename, mode="r"): f = open(filename, mode) try: yield break f finally: f.close() I prefer Nick's proposal however, since it simplifies non-looping constructs (no generator-template, break of parent loop supported), while leaving looping constructs (a minority in IMO) possible using a for, making things even clearer to me (but harder to implement). I'm still not convinced at all that using generators to implement a acquire/release pattern is a good idea... Regards, Nicolas _______________________________________________ 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