Epizoda

C9 Přednášky: Dr. Erik Meijer - Základy funkčního programování Kapitola 6 z 13

V kapitole 6, Dr. Meijer nás provede světem rekurzivních funkcí. V Haskellu lze funkce definovat z hlediska sebe sama. Takové funkce se nazývají rekurzivní.

Příklad:

faktoriál 0 = 1
faktoriál (n+1) = (n+1) * faktoriál n

faktoriál mapuje hodnotu 0 až 1 a všechna ostatní kladná celá čísla na součin samotného a faktoriál jeho předchůdce.

Některé funkce, například faktoriál, jsou jednodušší definovat z hlediska jiných funkcí. Jak však uvidíme, mnoho funkcí lze přirozeně definovat z hlediska sebe sama.

Vlastnosti funkcí definovaných pomocí rekurze lze prokázat pomocí jednoduché, ale výkonné matematické techniky indukce.

Měli byste je sledovat v posloupnosti (nebo přeskočit v závislosti na vaší curent úrovni znalostí v této doméně):

Kapitola 1Kapitola 2Kapitola 3Kapitola 4 Kapitola 5Kapitola 6Kapitola 7Kapitola 8Kapitola 9Kapitola 10Kapitola 11Kapitola 12Kapitola 13

Haskell