[Haskell-beginners] foldr on infinite list to decide prime number
Chul-Woong Yang
cwyang at aranetworks.com
Tue Feb 2 01:36:03 UTC 2016
I feel sorry for posting mis-formatted code.
I re-post the question.
--
Hi, all.
While I know that foldr can be used on infinite list to generate infinite
list,
I'm having difficulty in understaind following code:
isPrime n = n > 1 && -- from haskell wiki
foldr (\p r -> p*p > n || ((n `rem` p) /= 0 && r)) True primes
primes = 2 : filter isPrime [3,5..]
primes is a infinite list of prime numbers, and isPrime does foldr to get a
boolean value.
What causes foldr to terminate folding?
Any helps will be deeply appreciated.
Thank you.
2016-02-02 10:32 GMT+09:00 Chul-Woong Yang <cwyang at aranetworks.com>:
> Hi, all.
>
> While I know that foldr can be used on infinite list to generate infinite
> list,
> I'm having difficulty in understaind following code:
>
> isPrime n = n > 1 && -- from haskell wiki foldr (\p r -> p*p > n || ((n
> `rem` p) /= 0 && r)) True primes primes = 2 : filter isPrime [3,5..]
>
> primes is a infinite list of prime numbers, and isPrime does foldr to get
> a boolean value.
> What causes foldr to terminate folding?
>
> Any helps will be deeply appreciated.
>
> Thank you.
>
> Chul-Woong
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20160202/1a7cba14/attachment.html>
More information about the Beginners
mailing list