Nedalo by se říct, že lambda je ta anonymní funkce,
Asi dalo, ale muze to byt matouci. Radsi pouzivam pojem "lambda-vyraz", coz je vyraz, ktery se vyhodnoti na funkci. Tu muzes zavolat a pracovat s ni jako s jakoukoliv jinou funkci neho hodnotou. (Odpada tam problem s tim, jestli tou anonymni funkci je jeji deklarace nebo vysledna hodnota.)
uzávěr je celej ten kontext kolem ní, který si musí táhnout sebou
Uzaver je ta funkce + odkaz na lexikalne nadrazene prostredi. Kam se funkce diva na hodnoty volnych promennych (symbolu), kdyz je zavolana (vyhodnocena).
Plus pak je tam ještě ta sranda s tím, že ve většině jazycích se zafixovávaj
To dela JVM jako optimalizaci. U uzaveru nedrzi odkaz na nadrazene prostredi, ale vsechny pouzite hodnoty nakopiruje do uzaveru. LISPy to nedelaji a je s tim vetsi sranda.
(tuším, že se tomu snad říká dynamic scoping)
To je neco uplne jineho.