Doug Holton wrote: > Mike Meyer wrote: > >> Personally, I'd love a language feature that let you create a function >> that didn't evaluate arguments until they were actually used - lazy >> evaluation. That lets you write the C ?: operator as a function, for >> a start. >> >> Hmmm. No, iterators can't be used to fake it. Oh well. > > That is a brilliant idea. I would suggest requesting such a feature for > Python 3.0: http://www.python.org/cgi-bin/moinmoin/Python3.0
Just as a reference, Mathematica does have such a feature, in the form of the HoldAll, HoldFirst, etc. function attributes. It can come in quite handy. I actually used it to write a little routine to auto-generate python modules for mathematica variables of certain types, without having to specify a list of strings for their names. The evaluation control allowed me to give it a very clean interface, while the equivalent python2mathematica routine requires a list of variable names (strings) as input, and plays sys._getframe tricks with it. Not very pleasant. So yes, I think it would be a really nifty feature to have, though I haven't really thought about how well it meshes (or not) with the rest of python's design. Cheers, f -- http://mail.python.org/mailman/listinfo/python-list