Funkcinis programavimas

Funkcinis programavimas – tai programavimo paradigma, kai programos konstruojamos taikant ir sudarant funkcijas. Tai deklaratyvi programavimo paradigma, kurioje funkcijų apibrėžimai yra išraiškų medžiai, susiejantys reikšmes su kitomis reikšmėmis, o ne imperatyvių teiginių, atnaujinančių programos veikimo būseną, seka.

Funkcinį programavimą realizuojančios kalbos: Lisp, Elixir, Erlang, Haskell ir kt.

Istorija 
Lambda skaičiavimas, kurį XX amžiaus trečiajame dešimtmetyje sukūrė Alonzo Church, yra formali skaičiavimo sistema, sukurta naudojant funkcijų programą. 1937 m. Alan Turing įrodė, kad lambda skaičiavimas ir Tiuringo mašinos yra lygiaverčiai skaičiavimo modeliai, parodydami, kad lambda skaičiavimas yra baigtas Tiuringo skaičiavimu. Lambda skaičiavimas yra visų funkcinių programavimo kalbų pagrindas. Lygiavertę teorinę formuluotę, kombinatorinę logiką sukūrė Moses Schönfinkel ir Haskell Curry 1920 ir 1930 metais.

Programavimas