Lisp: Porovnání verzí

Odebrán 1 bajt ,  před 4 měsíci
m
typo
m (Robot: -zastaralá značka HTML)
m (typo)
Lisp byl původně specifikován v roce 1958. V současné době se jedná o druhý nejstarší vysokoúrovňový jazyk, který se stále ještě používá v praxi; starší už je pouze [[Fortran]]. Lisp byl původně navržen jako programovací jazyk pro matematické výpočty a byl silně ovlivněn syntaxí [[Lambda kalkul]]u. Rychle se stal favorizovaným programovacím jazykem ve světě [[Umělá inteligence|umělé inteligence]]. Lisp se stal průkopníkem v mnoha programových technikách, například: [[Strom (datová struktura)|stromové struktury]], [[Garbage collector|automatická správa paměti]] nebo dynamické typování. Lisp nevnímá rozdíl mezi kódem a daty, díky čemuž má jednoduchou syntaxi. Celý program je tak složen z s-výrazů nebo ozávorkovaných seznamů ve tvaru <code>(f a b c)</code>, kde na prvním místě je operátor/funkce a na dalších argumenty funkce. Všechny další funkce jazyka mají identickou syntaxi.
 
Z Lispu jsou odvozeny i další jazyky - například [[Tcl]], [[Smalltalk]] nebo [[Scheme]]. Tvůrcem jazyka byl [[John McCarthy]].
 
== Syntaxe ==
 
=== Příkazy ===
 
Příkazy jazyka Lisp se zapisují také jako seznam, jehož první prvek seznamu je název příkazu.
 
 
== Ukázka kódu ==
 
Program [[hello world]] lze zapsat několika způsoby. Nejjednodušší vypadá takto:
<syntaxhighlight lang="lisp">
 
=== Problémy spojené s makry ===
Při používání maker si musíme dávat pozor na dva klasické problémy '''dvojí vyhodnocení''' a '''symbol capture'''. Představme si if, který v true větvi automaticky vrátí výsledek podmínky a ve false větvi vrátí předaný argument. Ukázka, jak by to mělo fungovat:
 
<syntaxhighlight lang="lisp">
== Externí odkazy ==
* {{Commonscat}}
* [http://www.root.cz/clanky/jemny-uvod-do-lispu/ Jemný úvod do LISPu]
* {{en}} [http://clisp.cons.org/ ANSI Common Lisp Implementation]
* {{en}} [http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/ Visual LISP - vývojové prostředky AutoCADu]
* {{en}} [http://www.gigamonkeys.com/book/ Practical Common Lisp]
 
{{Programovací jazyky}}