小编Xin*_*ing的帖子

学习Haskell:看似循环的程序 - 请帮助解释

我现在正在阅读Doets和Van Eijck撰写的"The Haskell Road to Logic,Math,and Programming"一书.在本书之前,我从未接触过任何函数式编程语言,因此请记住这一点.

在本书的早期,它还提供了以下用于素性测试的代码:

ldp :: Integer -> Integer
ldp n = ldpf primes1 n

ldpf :: [Integer] -> Integer -> Integer
ldpf (p:ps) n | rem n p == 0 = p 
              | p^2 > n      = n
              | otherwise    = ldpf ps n

primes1 :: [Integer]
primes1 = 2 : filter prime [3..]

prime :: Integer -> Bool
prime n | n < 1     = error "not a positive integer"
        | n == 1 …
Run Code Online (Sandbox Code Playgroud)

primes haskell lazy-evaluation circular-reference primality-test

9
推荐指数
2
解决办法
796
查看次数