Funkcinis programavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
   Šiam straipsniui ar jo daliai trūksta išnašų į šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

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[redaguoti | redaguoti vikitekstą]

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.