On Monday 27 October 2003 11:35 am, Armin Rigo wrote: > Hello Alex, > > On Mon, Oct 27, 2003 at 08:51:02AM +0100, Alex Martelli wrote: > > I just got a PEP number (323) for Copyable Iterators as recently > > discussed, > > .. where? I was assigned the PEP number in email today and just now committed the PEP (and the update of PEP 0 to list it) to CVS. > > and hope to commit the PEP within today. But, basically, the idea is > > trivially simple: iterators which really have a tiny amount of state, > > such as those on sequences and dicts, will expose __copy__ and implement > > it by just duplicating said tiny amount (one pointer to a container and > > an index). > > I needed this for sequence iterators and generators in a recent project. > Duplicating a user-defined running generator seems funny, but it works > quite well. I use this to make a snapshot of the program state and restore > it later, and the program makes heavy use of parallel-running generators > stored in lists. > > http://codespeak.net/svn/user/arigo/misc/statesaver.c Cool! Why don't you try copy.copy on types you don't automatically recognize and know how to deal with, BTW? That might make this cool piece of code general enough that Guido might perhaps allow generator-produced iterators to grow it as their __copy__ method... Alex
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4