Erklären Sie diesen Teil des Hashkell-Codes, der einen Stream von Primzahlen ausgibt
Ich habe Probleme beim Verstehen dieses Codeblocks:
let
sieve (p:xs) = p : sieve (filter (\ x -> x `mod` p /= 0) xs)
in sieve [2 .. ]
Kann es jemand für mich aufschlüsseln? Ich verstehe, dass es eine Rekursion gibt, aber das ist das Problem, das ich nicht verstehen kann, wie die Rekursion in diesem Beispiel funktioniert.