On Fri, May 15, 2009 at 10:14 AM, Jim Jewett firstname.lastname@example.org wrote:
Logically, you're correct. But I think the ('&' ==> addressof) meme may have already grown too strong. What it suggests to me is that normally you *would* create a new list, but the ampersand says not to in just this rare case.
Well the connotations are not much stronger than with '*' and '**'. I've been literally asked by an experienced C/C++/Perl guy "what's this pointer to a pointer parameter used for in this function ?".
How about '@' instead ? A mnemonic here could be "just like '@decorator\ndef f():' is a shortcut for 'f = decorator(f)', the '@arg=expr' parameter is a shortcut for 'arg = (lambda: expr)()' if 'arg' is not passed". Admittedly, far from a perfect analogy but probably less controversial than '&'.