[Python-checkins] CVS: python/dist/src Makefile.pre.in,1.36,1.37

Guido van Rossum gvanrossum@users.sourceforge.net
Fri, 20 Apr 2001 12:13:03 -0700

Update of /cvsroot/python/python/dist/src
In directory usw-pr-cvs1:/tmp/cvs-serv31661

Modified Files:
Log Message:
Iterators phase 1.  This comprises:

new slot tp_iter in type object, plus new flag Py_TPFLAGS_HAVE_ITER
new C API PyObject_GetIter(), calls tp_iter
new builtin iter(), with two forms: iter(obj), and iter(function, sentinel)
new internal object types iterobject and calliterobject
new exception StopIteration
new opcodes for "for" loops, GET_ITER and FOR_ITER (also supported by dis.py)
new magic number for .pyc files
new special method for instances: __iter__() returns an iterator
iteration over dictionaries: "for x in dict" iterates over the keys
iteration over files: "for x in file" iterates over lines


test suite
decide whether to use a different way to spell iter(function, sentinal)
decide whether "for key in dict" is a good idea
use iterators in map/filter/reduce, min/max, and elsewhere (in/not in?)
speed tuning (make next() a slot tp_next???)

Index: Makefile.pre.in
RCS file: /cvsroot/python/python/dist/src/Makefile.pre.in,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -r1.36 -r1.37
*** Makefile.pre.in	2001/04/18 01:20:21	1.36
--- Makefile.pre.in	2001/04/20 19:13:01	1.37
*** 239,242 ****
--- 239,243 ----
  		Objects/funcobject.o \
  		Objects/intobject.o \
+ 		Objects/iterobject.o \
  		Objects/listobject.o \
  		Objects/longobject.o \
*** 434,437 ****
--- 435,439 ----
  		Include/tupleobject.h \
  		Include/listobject.h \
+ 		Include/iterobject.h \
  		Include/dictobject.h \
  		Include/methodobject.h \