Odcinek

Wykłady C9: dr Erik Meijer - Podstawy programowania funkcjonalnego Rozdział 6 z 13

W rozdziale 6 dr Meijer prowadzi nas przez świat funkcji cyklicznych. W języku Haskell funkcje można zdefiniować pod względem siebie. Takie funkcje są nazywane rekursywnymi.

Przykład:

współczynnik 0 = 1
współczynnikowy (n+1) = (n+1) * współczynnik n

factorial mapuje od 0 do 1, a każda inna dodatnia liczba całkowita do samego produktu i współczynnik jego poprzednika.

Niektóre funkcje, takie jak factorial, są prostsze do zdefiniowania pod względem innych funkcji. Jak jednak widzimy, wiele funkcji może być naturalnie zdefiniowanych pod względem siebie.

Właściwości funkcji zdefiniowanych przy użyciu rekursji można udowodnić przy użyciu prostej, ale potężnej techniki matematycznej indukcji.

Należy je obserwować w sekwencji (lub pominąć w zależności od poziomu wiedzy curent w tej domenie):

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