Lisp: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m lit.
m int., drobne redakcyjne - "zagnieżdżone w Lispie" wygląda mi na wtrącone określenie
Linia 21:
Lisp powstał jako wygodna [[matematyka|matematyczna]] notacja dla [[program komputerowy|programów komputerowych]], oparta na [[rachunek lambda|rachunku lambda]] stworzonym przez [[Alonzo Church]]a. Szybko został najchętniej wybieranym językiem do badania i rozwoju [[sztuczna inteligencja|sztucznej inteligencji]]. Wywodzi się z niego wiele technik programistycznych, takich jak [[struktura drzewiasta|struktury drzewiaste]], [[odśmiecanie pamięci]], [[Typowanie dynamiczne|dynamiczne typowanie]] czy nowe koncepcje w [[programowanie obiektowe|programowaniu obiektowym]] ([[Common Lisp Object System]]).
 
Nazwa ''Lisp'' pochodzi od ''LISt Processing''. Podstawową strukturą danych w Lispie jest [[lista]]; [[kod źródłowy]] programów w Lispie składa się z list. W wyniku tego programy w Lispie mogą manipulować kodem źródłowym jak zwykłą strukturą danych. Umożliwia to pisanie [[makro|makr]], pozwalających programiście tworzyć nową składnię lub nawet małe, zagnieżdżone w Lispie, języki.
 
Kod tworzony jako struktura danych sprawia, że Lisp ma charakterystyczną składnię. Cały kod źródłowy ma postać tzw. ''[[S-wyrażenie|S-wyrażeń]] (S-expressions)'', czyli list otoczonych nawiasami. Wywołanie funkcji, makra lub formy specjalnej ma postać listy, której pierwszym elementem jest nazwa funkcji, a następnymi elementami – jej argumenty. Na przykład funkcję o nazwie <tt>f</tt> z argumentami <tt>a</tt>, <tt>b</tt> i <tt>c</tt> wywołuje się za pomocą kodu <tt>(f a b c)</tt>.