On 1/29/07, Jim Jewett email@example.com wrote:
On 1/29/07, Roman Susi firstname.lastname@example.org 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.