Lisp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
fix prosa
 
(11 versioni intermedie di 10 utenti non mostrate)
Riga 14:
}}
 
'''Lisp''' ('''''Lis'''t '''P'''rocessor'') è una famiglia di [[linguaggi di programmazione]] con implementazioni sia [[Compilatore|compilate]] sia [[Interprete (informatica)|interpretate]], associata nel passato ai progetti di [[intelligenza artificiale]]. È stato ideato nel [[1958]] da [[John McCarthy]]<ref name="MCCARTHY">{{Cita web|url=http://www-formal.stanford.edu/jmc/recursive.html|titolo=Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I|autore=John McCarthy|url=http://www-formal.stanford.edu/jmc/recursive.html|accesso=13 ottobre 2006|urlmorto=sì|urlarchivio=https://web.archive.org/web/20131004215327/http://www-formal.stanford.edu/jmc/recursive.html|dataarchiviourlmorto=4 ottobre 2013}}</ref> come [[linguaggio formale]] per studiare la computabilità di [[Funzione ricorsiva|funzioni ricorsive]] (nel senso di [[Albert Thoralf Skolem|Skolem]]) su espressioni simboliche. È stato anche il primo linguaggio a facilitare uno stile di [[programmazione funzionale]].
 
== Descrizione ==
 
Il primo [[software libero]] (free software) con un ''core''nucleo LISP è stato [[emacs]], diffuso [[editor (informatica)|editor]] di testo]] per terminale progettato negli anni ottanta da [[Richard Stallman]] sulle ''LISP machine'' dell'epoca e portato successivamente su tutti i [[sistema operativo|sistemi operativi]]. Commercialmente, la diffusione più rilevante del linguaggio è avvenuta con la sua integrazione in programmi di uso comune, come nel [[Computer-aided design|CAD]] [[AutoCAD]] ([[Autodesk]]) o come nell'azienda editrice [[Interleaf]], che utilizza una versione personalizzata di Lisp e strettamente integrata con le funzioni di programmazione dell'ambiente grafico.
Commercialmente, la diffusione più rilevante del linguaggio è avvenuta con la sua integrazione in programmi di uso comune, come nel [[CAD]] [[AutoCAD]] ([[Autodesk|Autodesk inc.]]) o come nel [[publisher]] [[Interleaf]] ([[Interleaf|Interleaf Inc.]]), che utilizza una versione personalizzata di Lisp e strettamente integrata con le funzioni di programmazione dell'ambiente grafico.
 
La [http://www.symbolics.com Symbolics Technology Inc.] ha realizzato negli anni ottanta delle [[workstation]] e server con sistema operativo [[multitasking]] e [[Oggetto (informatica)|orientato agli oggetti]] con una potentissima [[interfaccia grafica]] di [[programmazione simbolica]], interamente programmato in LISP, compreso il [[microcodice]] del [[processore LISP]].
Line 27 ⟶ 26:
{{citazione necessaria|Complessi software LISP restano ancora in servizio presso enti governativi, militari, aerospaziali, compagnie aeree, compagnie petrolifere, ecc.}} per complessi giochi di simulazione e valutazione di strategie operative.
 
{{citazione necessaria|Data la grande versatilità del linguaggio e quindi la facilità di estensione e personalizzazione da parte del programmatore}}, sono fioriti molti dialetti di LISP, tra cui, il più diffuso, e quello a cui solitamente ci si riferisce parlando di LISP, è il [[Common LISP]]. Altri sono lo [[Scheme]] e l'[[Arc (linguaggio di programmazione)|Arc]].
 
== Programma di esempio ==
Gli esempi qui riportati sono scritti in Common LISP
<sourcesyntaxhighlight lang="lisp">
(format t "Hello, World!")
(princ "Hello, World!")
(print "Hello, World!")
(write "Hello, World!")
</syntaxhighlight>
</source>
Es: con Cmucl lisp GPL interprete e compilatore di codice macchina e/o [[bytecode]] provate a digitare:
 
Line 65 ⟶ 64:
 
== Dialetti del LISP ==
* [[Arc (linguaggio di programmazione)|Arc]]
* [[AutoLISP]]
* [[Clojure]]
Riga 78:
*{{cita testo|titolo=LISP: l'intelligenza artificiale|rivista=Micro & Personal Computer|numero=4|data=aprile 1980|pp=72-77|editore=Gruppo Editoriale Suono|città=Roma|url=https://archive.org/stream/MePC004#page/n71/mode/1up|OCLC=859585120}}
*{{cita testo|titolo=LISP: l'intelligenza artificiale - Seconda parte: le applicazioni|rivista=Micro & Personal Computer|numero=5|data=maggio/giugno 1980|pp=58-62|editore=Gruppo Editoriale Suono|città=Roma|url=https://archive.org/stream/MePC005#page/n57/mode/1up|OCLC=859585120}}
*{{cita libro|autore=Ken Tractor|titolo=Introduzione al LISP - Elementi fondamentali di programmazione|data=1984|editore=Franco Muzzio & c.|città=|url=httphttps://wwwarchive.microatena.itorg/scheda_libro.php?id=312#menu_tabs|formato=pdfdetails/introduzioneallisp|ISBN=88-7021-256-4}}
 
== Voci correlate ==
* [[Car e cdr]]
* [[Cons (funzione)]]
* [[Common LISP]]
* [[Steel Bank Common Lisp]]
Riga 92:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
* {{cita web|http://www.lisp.it|Italian Lisp User Group}}
* {{cita web|http://www.redchar.net|"Il Mio Lisp", libro italiano sul linguaggio Lisp utilizzato nei software CAD}}
* {{collegamentocita interrottoweb|1=[ftphttp://ftpwww.lisplispnyc.itorg/pubstatic/iso/lispnixlisp-reskitres-kit.2004-12-23.iso ''|"Common Lisp e Tools + manuali con distribuzione Knoppix pronta per l'uso''] |date=marzo 2018 |bot=InternetArchiveBot "}}, (Lisp Live CD)
 
{{Principali linguaggi di programmazione}}