Haskell lengoaiaren logoa
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.

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.

"LISP Programazio Lengoaia" liburua (UEU, Iñaki Madariaga, 1991)
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. 

Kalkulu orriak programazio-lengoaia funtzional gisa ere ikus daitezke.

Erreferentziak
--------------

1. ↑  Univ. de Girona -- Programació funcional
2. 1 2    Sarasola Gabiola, Kepa; Bastarrika Larrauri, Juan Ramon.  (1991). *LISP programazio-lengoaia.*  UEU ISBN 978-84-86967-32-1. (Noiz kontsultatua: 2021-02-17).
3. ↑    «JavaScript aurreratua: programazio funtzionala eta Test Driven Development (TDD) - Euskadi+innova» *www.spri.eus* 2007-07-12 (Noiz kontsultatua: 2021-02-16).[*Betiko hautsitako esteka*]

Kanpo estekak
-------------

|  |  |
| --- | --- |
|  | Wikimedia Commonsen badira fitxategi gehiago, gai hau dutenak: ***Programazio funtzional*** Aldatu lotura Wikidatan |

* Unib. de Girona - Sarrera prog. funtzionala Lambda Kalkuluaren azalpenarekin
* Unib. de Girona - Teoria de la prog. funtzionala
* Urteko Programazio funtzionala Lehiaketa **(Ingelesez)** ICFP Lehiaketa: funtzionala Programazioa buruzko Nazioarteko Biltzarra Video
* Programazio funtzionala gainerako hilkorrentzat **(Ingelesez)**
* David Mertz, *Programazio Funtzionala Python* 1. zatia, 2. zatia, 3. zatia **(Ingelesez)**
* Javascript funtzionala **(Ingelesez)**
* Simon Peyton-Jones - Programazio lengoaia funtzionalen ezarpena **(Ingelesez)**

Bideo-aurkezpenak
* Malcom Wallace - ICFP 2009 eta programazio funtzionalari buruzko azken aurkezpenen beste bideo batzuk **(Ingelesez)**
* Haskell Exchange 2012 **(Ingelesez)**
* Malcolm Wallace - ICFP 2012 eta beste batzuk **(Ingelesez)**

|  |  |
| --- | --- |
| Autoritate kontrola | 
* **Wikimedia proiektuak**
* Wd Datuak: Q193076
* Commonscat Multimedia: Functional programming

---

* **Identifikadoreak**
* BNE: XX547935
* BNF: 121910539 (data)
* GND: 4198740-8
* LCCN: sh87007844
* NKC: ph572639
* **Hiztegiak eta entziklopediak**
* Britannica: url

 |

* Wd Datuak: Q193076
* Commonscat Multimedia: Functional programming