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
factorial (n+1) = (n+1) * factorial n

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

Niektóre funkcje, takie jak factorial, są prostsze do zdefiniowania pod względem innych funkcji. Jak jednak zobaczymy, 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 obejrzeć w sekwencji (lub pominąć w zależności od poziomu wiedzy curent w tej domenie):

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

Haskell