diff --git a/docs/ALGORITHM.md b/docs/ALGORITHM.md index 0c5f50a..b5d1697 100644 --- a/docs/ALGORITHM.md +++ b/docs/ALGORITHM.md @@ -221,9 +221,4 @@ applyMerge f xs ys = However, `mergeAll` uses $O(n)$ auxiliary space in the worst case, while our implementation of `applyMerge` uses just $O(\sqrt{n})$ auxiliary space. -[^1]: Note that this is really the Sieve of Erastosthenes, as defined in the -classic [The Genuine Sieve of Eratosthenes](https://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf). -Constrast this to other simple prime generation implementations, such as
-primes = sieve [2..] -sieve (p : xs) = p : sieve [x | x <- xs, x \`rem\` p > 0]-which are actually trial division and not faithful implementations of the Sieve of Erastosthenes. +[^1]: Note that this is really the Sieve of Erastosthenes, as defined in the classic [The Genuine Sieve of Eratosthenes](https://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf). Constrast this to other simple prime generation implementations, such as
primes = sieve [2..] where sieve (p : xs) = p : sieve [x | x <- xs, x \`rem\` p > 0]which are actually trial division and not faithful implementations of the Sieve of Erastosthenes.