Chris Angelico writes: > It's larger than argument defaults, but also smaller:
Aside: I'm quite confused by your whole line of discussion here, but I'll let Eric follow up. > The overlap with late-bound defaults is the simple case of mutable > objects that you want to freshly construct every time, but > ultimately, that's not hugely different from a lambda function: Of course it's hugely different from a lambda function. It will be evaluated at the time of reference, whereas a lambda function will not, it won't be evaluated until called. (This means that to access a deferred object without evaluating it, a separate API will be needed, sort of the dual of function call.) > (Another theoretical difference is that a deferred expression is > parsed in the context of its *usage* rather than its *definition*, but > that would break all manner of things in Python and is quite > impractical.) I'm a little confused by "theoretical" and "parsed". I guess by "theoretical" you mean that this is a design choice, and by "parsed in the context" you mean that the expression could be represented in the deferred object as a string, an AST, or a code object. Please confirm. _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/5NFYE4Z5PU7QCBDBV2IUMYLCPMGGY7TX/ Code of Conduct: http://python.org/psf/codeofconduct/