Lisp

Из Википедије, слободне енциклопедије

Lisp је програмски језик који је пројектовао Џон Макарти крајем 1950-их. Иако је Lisp општенамјенски програмски језик, обично се каже да је језик вјештачке интелигенције, односно области у којој се највише користи. Програмирање у вјештачкој интелигенцији је уско везано за симболично процесовање, гдје стандардни програмски језици неријетко имају проблема. Симболично процесовање се концентрише на репрезентацију концепата из стварности и везе међу објектима, умјесто на нумеричко процесовање.

У вријеме када је Lisp пројектован, такође су развијани други програмски језици за ВИ. Макарти, математичар по професији, тежио је да успостави чврсту научну основу за Lisp. Та основа долази из формалне логике. Амерички логичар Алонсо Чарч, развио је јасне и недвосмислене начине за описе улаза и унутрашња израчунавања функција. Систем биљежења Ламбда калкулуса, понудио је Макартију одлично дефинисану основу, на којој је базирао програмски језик Lisp.

Чисти Лисп је примјер функционалног програмског језика. У функционалном програмирању, функције се примјењују на аргументе и вриједности. Враћене вриједности се користе као аргументи за друге функције. Функционално програмирање је супротно стандардном и процедуралном програмирању, гдје се користе наредбе које мијењају окружење програма на неки начин, као што је приписивање вриједности промјењљивим. У функционалном програмирању, те промјене окружења се минимизују коришћењем вриједности које враћа позвана функција као директан улаз у другу функцију, без употребе приписивања наредби.

Као што само име говори (енгл. List Processing), примарна структура података Lisp-а је списак, иако подржава и друге врсте података, као што су цијели бројеви, бројеви са покретним зарезом, знакови и низови знакова, као и врсте података које дефинише корисник. Списак је једноставна, али и веома флексибилна структура података. У Lisp-у, списак се састоји од било којег броја елемената података у заградама или у скупу заграда. На примјер, скуп цијелих бројева се представља као списак: (1 2 3 4 5 6 7 8 9).

Види још[уреди]

Спољашње везе[уреди]