3 ms·
"let = lambda" would be the same thing, wouldn't it?
by clickok 13y ago
"let = lambda" would be the same thing, wouldn't it?
- exDM69 13y agoYes, but in an incredibly verbose way. And a simple let->lambda conversion can't express things that Scheme's let* or letrec expressions let you do (in Haskell, a "let" or "where" expression is a "letrec").
- aaren 13y ago>>> let = lambda File "<stdin>", line 1 let = lambda ^ SyntaxError: invalid syntax Am I misunderstanding you?
- farinasa 13y ago>>> let = lambda x: 2*x >>> print let(4) 8 Edit: Awesome, downvoted for helping.
- Ideka 13y agoThat's not what they mean. The usage they are discussing is more like this, I believe. In a functional context, instead of doing: print expensive_computation(), expensive_computation() You can do: (lambda x: print x, x)(expensive_computation()) Which would be equivalent to, with an imaginary let syntax: (let x be expensive_computation(): print x, x)