Lambda as declarative idiom
jeff at ccvcorp.com
Wed Jan 5 01:10:22 CET 2005
Robert Brewer wrote:
> Michael Spencer wrote:
>>I believe that this "possibility to postpone" divides into
>>two related but separate concepts: controlling the moment
>>of evaluation, and assembling the arguments required at
>>that moment. They are both species of 'eval', but
>>managing arguments is more specialized, because it includes
>>possibly renaming parameters, assigning default values,
>>processing positional and keyword arguments, and, perhaps
>>in the future dealing with argument types.
> Yes, but the "moment of evaluation" is more complex than just
> "postponing". In a declarative construct, you probably also want global
> variables to be bound early, so that the expression does not depend upon
> *any* free variables. Ditto for closures. A more realistic example:
> term = input("Enter the amount to add")
> e = expr(x): x + term
> ...MUCH code passes, maybe even a new process or thread...
> d = a + e(3)
I see this as simply a combination of both of the aforementioned
concepts -- argument control plus moment-of-evaluation control.
More information about the Python-list