haskell で 素数のライブラリを使う

http://hackage.haskell.org/packages/archive/primes/0.2.0.0/doc/html/Data-Numbers-Primes.html

これをつかう。

cabal install primes

以上

使い方

Prelude Data.Numbers.Primes> :m Data.Numbers.Primes 
Prelude Data.Numbers.Primes> sum $ takeWhile (<2000000) primes
142913828922
(0.62 secs, 401446300 bytes)

ものすごい速さだ。なぜいまままで気がつかなかったorz

コンパイルするときには ghc --make とやればモジュールをリンクしてくれる。

問題点 マイナスも素数としてしまう。(ほんとの素数の定義はそうなのかな?)

Prelude Data.Numbers.Primes> isPrime (-5)
True