On 1/29/07, Jim Jewett <jimjjewett@gmail.com> wrote:
On 1/29/07, Roman Susi <rnd@onego.ru> wrote:
P.S. However, I may be wrong. In that case my syntax suggestion would be this:
def foo(non_const or []): ...
where [] is executed at runtime BECAUSE at def time non_const is somehow True and that is enough to leave [] alone.
It would also be possible to treat literals (like "[]") as "do it over each time", and more general expressions (like "list()") as they are treated today.
Though like Roman, I think this would still be worse than the status quo.
Another, more bizarre approach would be to require default arguments be hashable. This would prevent lists from being used, protecting people from mistakes. None of the options given sit right with me though. -- Adam Olsen, aka Rhamphoryncus