Informatikan, programazio funtzionala programazio paradigma posibleetako bat da, hots, konputagailu-programak idazteko aukera nagusietako bat. Programazio funtzionala lambda kalkuluan oinarritzen da, 1930eko hamarkadan garatutako sistema formal bat dena. Ez dira berdinak matematikako funtzioa eta programazio inperatiboan erabiltzen den funtzio kontzeptua. Horien arteko aldea da funtzio inperatiboek albo-ondorioak dituztela, lortu nahi den emaitzaz gain beste objektu batzuen balioa aldatu dezaketela. Horrela erreferentziazko osotasun eza nabarmena dute, adierazpen berak balio desberdinak eman ditzakeelako erabiltzen den une desberdinetan. programaren exekuzio-egoeraren arabera gertatutako da hori.[1]
Lengoaia funtzional batean idatzitako programetan bi atal bereizten dira: hasieran zenbait funtzioren definizioa, eta gero zenbait funtzio-aplikazio. Funtzio-aplikazioak argumentu konkretuekin funtzio bati egindako deiak dira, argumentuen balioak balio konstanteak edo beste funtzioen aplikazioaz lortutako emaitzak izan daitezkeelarik. Era honetako programazioaz ari garenean, egikaritzapena datuek gidatzen dutela esan ohi da, eta ez ekintzek, lengoaia agintzaileetan gertatzen den bezala. Erreferentzien gardentasuna lortzen da funtzioen aplikazioetan albo-ondoriorik ez baita onartzen. Prozesu errepikakorrak errekurtsibitatearen bidez adierazi ohi dira. Lengoaia hauek diseinatzeko ez da hartzen abiapuntutzat Von Neuman-en arkitektura, ezta beste arkitektura-motarik ere. Helburua problemak ebazteko tresna lagungarria diseinatzea da baina konputagailu-eredurik kontutan hartu gabe. Hurbilpen funtzionala oso egokia da xede hori lortzeko. Lengoaia funtzionalen artean historikoki Hope, Miranda, ML, LISP eta FP egon dira.[2]
Programazio-lengoaia funtzional puruak direnak unibertsitate guneetan erabili izan dira batez ere, ez merkataritza sektorean. Hala ere, badira erabilera komertzial nabarmena duten batzuk, besteak beste, Scheme, Haskell, Dafny, Erlang, ML, Scala, baita domeinuko lengoaia espezifikoak, hala nola R (estatistika), Mathematica, J eta K finantza analisian eta XSLT dokumentu-eraldaketan. SQL eta Lex / Yacc bezalako lengoaia deklaratiboek programazio funtzionalaren alderdiak erabiltzen dituzte, kalkulu-garaian balio-aldaketak jasan ditzaketen aldagaiak saihestuz. [3]
Kalkulu orriak programazio-lengoaia funtzional gisa ere ikus daitezke.