• Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X

LISP

Enciclopedia della Matematica (2013)
  • Condividi

LISP


LISP sigla (dall’inglese List Processing) con cui si indica un linguaggio di programmazione introdotto per consentire un’agevole elaborazione di liste di dati simbolici. È stato il primo linguaggio di programmazione funzionale di tipo dichiarativo (è, quindi, un → linguaggio funzionale); esso è usato prevalentemente in ambiti di ricerca sull’intelligenza artificiale (sistemi esperti, robotica, giochi e riconoscimenti di schemi). John McCarthy ne gettò le basi nel 1956, presso il Dartmouth Summer Research Project on Artificial Intelligence; sviluppato come un’estensione del fortran, il lisp fu completato nella sua prima versione nel 1965. Studiato inizialmente più per gli aspetti teorici e logici che per la sua concreta implementazione, ha avuto vari sviluppi ed è attualmente considerato un linguaggio adatto alla manipolazione simbolica di formule matematiche, all’implementazione della programmazione funzionale, alla realizzazione di modelli di intelligenza artificiale. Il lisp si basa sul concetto di programma come funzione, e tutte le sue strutture di dati sono caratterizzate da liste chiamate S-expressioni, dove S sta per simbolico. La caratteristica di questa struttura è data dall’uso della notazione prefissa racchiusa tra parentesi (→ notazione). Per esempio, l’espressione numerica (+2 8) dà come risultato 10. Tale notazione è utilizzata indifferentemente sia per la scrittura del codice sorgente sia per i dati.

L’impostazione del lisp come linguaggio funzionale necessita del particolare formalismo della lambda notazione, che discende dal linguaggio formale astratto detto → lambda-calcolo e dall’impiego di combinatori per la manipolazione delle espressioni formali. Come avviene in generale in tutti i linguaggi funzionali, sono permessi solo due tipi di operazioni sulle funzioni: 1) la definizione; 2) l’applicazione. Concordemente con la lambda notazione, si può definire una funzione senza doverle dare un nome standard, ma semplicemente indicando i parametri formali della funzione e la sua operazione. Così, per esempio, poiché nel lambda-calcolo la funzione ƒ(x) può essere indicata come λxƒ e si possono considerare x e ƒ come due componenti il complessivo termine, in lisp una lambda-funzione avrà una scrittura del tipo

formula

dove (x1 … xn) rappresenta la lista dei parametri, detti anche parametri formali della lista, e BODY è la definizione della funzione, che specifica come la funzione agisce. Per far diventare la lambda-funzione un’applicazione se ne modifica la forma aggiungendo i parametri attuali:

formula

dove a1 … an sono i parametri attuali per x1 … xn.

Un semplice esempio di applicazione in lisp è il seguente:

formula

Il corpo della funzione definisce dapprima la moltiplicazione di x per x (iniziando dalla parentesi più annidata) e poi addiziona il risultato a y; nella usuale notazione scriveremmo:

formula

Nella pratica di programmazione in lisp risulta tuttavia difficile riferirsi a funzioni senza nominarle, soprattutto quando esse devono essere richiamate molte volte nel corso del programma. Il lambda-calcolo tuttavia supera questi ostacoli, utilizzando un’apposita sintassi e delle regole di riduzione che semplificano le espressioni e rendono più agevole l’uso della lambda notazione.

Vedi anche
subroutine In informatica, lo stesso che sottoprogramma, ossia programma (generalmente breve) che può essere richiamato, anche più volte, dal programma principale per risolvere un problema specifico e frequente, agevolando così la programmazione e facendo risparmiare spazio di memoria. In alcuni contesti si considerano ... linguàggio di programmazióne In informatica, insieme di parole e di regole, definite in modo formale, per consentire la programmazione di un elaboratore affinché esegua compiti predeterminati. Esistono l. di p. di alto livello e di basso livello: i primi permettono al programmatore di lavorare su vere e proprie operazioni logiche, ... programmazione Economia P. economica Il complesso degli interventi dello Stato nell’economia, realizzati spesso sulla base di un piano pluriennale (in questo senso il termine si alterna, nell’uso, con pianificazione). Nella terminologia corrente, e anche da parte di alcuni studiosi, si è però soliti distinguere tra ... Alonzo Church Matematico e logico-matematico statunitense (Washington 1903 - Hudson, Ohio, 1995), prof. di matematica (1947-61), poi di matematica e filosofia (1961-67) a Princeton, dal 1967 di matematica e filosofia all'univ. di California. Nel 1936 enunciò la proposizione oggi chiamata tesi (o ipotesi o legge) di ...
Tag
  • LINGUAGGIO DI PROGRAMMAZIONE
  • PROGRAMMAZIONE FUNZIONALE
  • INTELLIGENZA ARTIFICIALE
  • LINGUAGGIO FORMALE
  • CODICE SORGENTE
Altri risultati per LISP
  • LISP
    Enciclopedia on line
    Abbreviazione di list processing, nome di un linguaggio di programmazione, sviluppato inizialmente presso il MIT, particolarmente orientato al trattamento di liste che possono contenere indifferentemente dati o istruzioni di programma. Per questa sua caratteristica, il linguaggio è anche usato nel campo ...
  • Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X
  • Ricerca
    • Enciclopedia
    • Vocabolario
    • Sinonimi
    • Biografico
    • Indice Alfabetico

Istituto della Enciclopedia Italiana fondata da Giovanni Treccani S.p.A. © Tutti i diritti riservati

Partita Iva 00892411000

  • facebook
  • twitter
  • youtube
  • instagram
  • Contatti
  • Redazione
  • Termini e Condizioni generali
  • Condizioni di utilizzo dei Servizi
  • Informazioni sui Cookie
  • Trattamento dei dati personali