Funkcionális programozás

A Programozás Wiki wikiből

A funkcionális programnyelvek a programozási feladatot egy függvény kiértékelésének tekintik. Szemben az imperatív programnyelvekkel, ahol az utasítások új állapotokat határoznak meg a számítógépnek, egy funkcionális nyelvben az eredményhez vezető út nem is feltétlenül ismert, a program végrehajtásához csak az eredmény pontos definíciója szükséges.

Funkcionális nyelvek például a Haskell, az Erlang és a Lisp.

Faktoriális függvény definícója Haskell-ben:

   factorial 0 = 1
   factorial n = n * factorial(n-1)

A faktoriális függvény egy lehetséges megvalósítása Lisp nyelven:

  (defun factorial (n)
    (if (<= n 1)
      1
      (* n (factorial (- n 1)))))