Funzione anonima
funzione definita senza essere legata ad un identificatore / Da Wikipedia, l'enciclopedia encyclopedia
In programmazione informatica, una funzione anonima o funzione lambda è una funzione definita, e possibilmente chiamata, senza essere legata ad un identificatore. Le funzioni anonime sono utili per passare come argomento una funzione di ordine superiore e si trovano in linguaggi che supportano funzioni di prima classe, come ad esempio Haskell.
Le funzioni anonime sono una forma di funzione nidificata, che consente l'accesso alle variabili nella portata della funzione contenitrice (variabili non locali). Benché siano nominate come funzioni annidate, non possono essere ricorsive senza l'aiuto di un operatore fixed-point combinator (funzione di ordine superiore) che in questo caso viene chiamato fixpoint anonimo o ricorsione anonima.
Queste funzioni anonime nascono dal lavoro di Alonzo Church sul Lambda calcolo del 1936. In molti linguaggi di programmazione le funzioni anonime sono introdotte con la parola chiave lambda ed è per questo che ci si riferisce ad esse come funzioni lambda.
Già nel 1958, Lisp aveva funzioni anonime. Oggi si trovano in molti altri linguaggi, come Scala, JavaScript, Ruby, Python, PHP, C++, Perl, Visual Basic, Delphi, Java, ecc., sebbene alcuni di questi non siano nati come veri e propri linguaggi funzionali.