Dieser Text beschreibt LISP. Der untere Text beinhaltet die LISP Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine LISP Definition vorhanden sein. Sollte eine Definition von LISP fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von LISP möglichst ausführlich zu halten.
Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema LISP Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema LISP beschreiben finden Sie auf der Seite alle Artikel über LISP. Fragen zu dem Thema LISP können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.
LISP ArtikelLISP ist eine Programmiersprache, die 1959 am Massachusetts Institute of Technology (MIT) als Implementierung des Lambda-Kalküls entstand.
LISP steht für List Processing. Damit waren ursprünglich FORTRAN-Unterprogramme gemeint, mit denen symbolische Berechnungen durchgeführt werden sollten, wie sie in dem Lambda-Kalkül gebraucht werden. Einer der Studenten von John McCarthy kam dann auf die fundamentale Idee, einen Interpreter für diese Ausdrücke zu programmieren, womit die Programmiersprache LISP geboren war.
Die Grunddatenstrukturen von LISP sind Einzelwerte (Skalarwerte), die Atome genannt werden und Listen. Die Listen können beliebig verschachtelt werden (Listen von Listen). Damit lassen sich auch leicht Datenstrukturen wie ein assoziatives Array implementieren. Die Listen werden mit runden Klammern dargestellt:
(A B C)
Auch Programmanweisungen sind Listen, was es ermöglicht, Daten beliebig zu manipulieren. Dies ist beispielsweise wichtig, wenn der Programmierer neue Kontrollstrukturen oder Objektsysteme (OOP) entwickeln will (Metaprogrammierung, Makros).
Lisp bietet dem Programmierer große Flexibilität und weit reichende Einflussmöglichkeiten, weshalb es ab und zu auch als "programmierbare Programmiersprache" genannt wird. Datenstrukturen werden dynamisch aufgebaut, ohne dass der Programmierer explizit Speicherplatz reservieren oder freigeben muss (siehe auch Garbage-Collection). Deklarationen für Daten sind nicht nötig und ein Lisp-Symbol kann als Variable beliebige Arten von Objekten nennen. Viele dieser Merkmale sind in dem Laufe der Zeit in weitere Programmiersprachen übernommen worden. Anfang der 50er waren sie sicherlich ihrer Zeit weit voraus.
Programme in Lisp können interpretiert oder von einem Compiler in effizienten Machinencode übersetzt werden. Dadurch verbinden sich für den Programmierer die Vorteile einer Skriptsprache (schnellere Entwicklungszyklen, einfachere Testbarkeit, höhere Flexibilität) mit denen einer kompilierten Sprache (Ausführungsgeschwindigkeit).
Buch-Tipp: AutoLISP. Einführung für AutoCAD-Praktiker Sehr guter Einstiegsbuch Günter Scheuermann-Staehler hat es früh geschafft einen Buch zu schreiben, welches man mit neueren AutoCAD-Versionen handhaben kann. Es ist keineswegs ein Buch alá Dummies. Man soll hier einen einblick in die AutoLISP Programmierung gewinnen und so manches erschaulich gemacht bekommen, was AutoLISP alles leisten kann.... Minimaler Funktionsumfang für Lisp | |
Nur ganz wenige Operatoren und ein allgemeiner Mechanismus zur Funktionsdefinition ist nötig um ein minimales Lisp-System zu implementieren.
Die folgenden Funktionen sind in dem ursprünglichen Bericht von McCarthy enthalten.
- car (gibt das erste Element einer Liste zurück)
- cdr (gibt die Restliste (ohne das erste Element) zurück)
- cons (verknüpft zwei Listen)
- quote (verhindert Auswertung)
- eq (Test auf Gleichheit)
- cond (bedingte Ausführung)
- Mechanismus zur Funktionsdefinition
Mit diesen Sprachmitteln kann man alle anderen Lispfunktionen erzeugen, wenn auch recht ineffizient. Die meisten LISP-Versionen implementieren einen großen Teil ihrer Funktionen in C oder in Maschinensprache.
|
| |
Bekannte Abkömmlinge:
Das berühmte Hallo-Welt-Programm in Common-Lisp:
(defun hallo-welt()
(print "Hallo Welt"))
Ein Lisp-Programm zur Berechnung der Fakultät:
(defun ! (n)
(cond ((= n 0) 1) ; 0! = 1
((> n 0) (* n (! (- n 1)))))) ; n! = n * (n - 1)!
Aufruf: (! 6)
Buch-Tipp: Kochbuch AutoLISP. AutoCAD programmieren mit LISP für Einsteiger und Fortgeschrittene gleichermaßen Als AutoCAD-Anwender mit jahrelanger Erfahrung wollte ich mich schon seit langer Zeit mit der Programmierung in Auto-Lisp vertraut machen, hatte aber bisher nichts in deutscher Sprache gefunden, was mehr als ein Nachschlagewerk und für mich verständlich ist.
Jetzt habe ich mir dieses Buch mit dem... |
Weiteres zu dem Artikel LISP | | Andere Leser interessierten sich auch für folgende Beschreibungen: | Atome, B, Bericht, C, Compiler, Datenstrukturen, Funktionen, Klammern, Listen, Massachusetts, Mechanismus, Operatoren, Skriptsprache, Sprache, Studenten, Technology | | Schnellzugrif auf verwandte Texte: | | | NEU! Frage im Forum zum Thema: | | Wenn die Beschreibung 'LISP' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die LISP Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'LISP' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'LISP' und 'LISP' Definition sehr dankbar.
Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'LISP' Beschreibung entsprechen.
|
|
|