Programmazione funzionale: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m removed Category:Linguaggi di programmazione using HotCat |
|||
Riga 9:
Questo tipo di funzioni hanno zero o più [[w:Parametro (programmazione)|parametri]] e un singolo valore di ritorno. I parametri sono gli input della funzione ed il valore di ritorno è il suo output. La definizione di una funzione descrive come questa deve essere valutata (computata) in termini di altre funzioni. Per esempio, la funzione ''f(x) = x<sup>2</sup> + 2'' è definita in termini delle funzioni di potenza e addizione. Ad un certo punto della serie di chiamate a funzioni, il linguaggio metterà a disposizioni funzioni atomiche, cioè funzioni che non richiamano nessun'altra funzione.
In un linguaggio di programmazione funzionale, le funzioni possono essere manipolate in diversi modi. Solitamente, in questi linguaggi, le funzioni sono entità di ''prima classe'', cioè possono essere passate come parametri ad altre funzioni e possono essere restituite come valori di ritorno da altre funzioni. Ciò permette a funzioni come <
I linguaggi funzionali permettono inoltre una tecnica chiamata ''currying'', che permette di trasformare una funzione con parametri multipli in una funzione con un solo parametro che mappa ad un'altra funzione con un solo parametro e così via, fino all'esaurimento dei parametri. La funzione trasformata può essere applicata ad un sottoinsieme dei suoi parametri iniziali e dare come risultato una nuova funzione dove i parametri di quel sottoinsieme sono costanti e il resto dei parametri hanno valori non ancora specificati. Infine questa nuova funzione può essere applicata ai parametri rimanenti per ottenere il risultato finale. Per esempio, una funzione <
==Storia==
|